<SEC-DOCUMENT>0000851205-19-000012.txt : 20191028
<SEC-HEADER>0000851205-19-000012.hdr.sgml : 20191028
<ACCEPTANCE-DATETIME>20191028160819
ACCESSION NUMBER:		0000851205-19-000012
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		86
CONFORMED PERIOD OF REPORT:	20190929
FILED AS OF DATE:		20191028
DATE AS OF CHANGE:		20191028

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:		191173113

	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-9292019x10q.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!--p:7509EA7D0C195A29A84E9C155A814789,x:82a2886e83ea4e7db3b64aaf517cd947-->
<!-- Document created using Wdesk  -->
<!-- Copyright 2019 Workiva -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fs-bd="http://fasb.org/dis/fs-bd/2018-01-31" xmlns:con="http://fasb.org/dis/con/2018-01-31" xmlns:nt="http://fasb.org/dis/nt/2018-01-31" xmlns:dr="http://fasb.org/dis/dr/2018-01-31" xmlns:scf-indira="http://fasb.org/stm/scf-indira/2018-01-31" xmlns:ei="http://fasb.org/dis/ei/2018-01-31" xmlns:sic-std="http://xbrl.sec.gov/sic-std/2011-01-31" xmlns:invco="http://fasb.org/dis/invco/2018-01-31" xmlns:soi="http://fasb.org/stm/soi/2018-01-31" xmlns:stpr-std="http://xbrl.sec.gov/stpr-std-std-std/2018-01-31" xmlns:ides="http://fasb.org/dis/ides/2018-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:rpd="http://fasb.org/dis/rpd/2018-01-31" xmlns:crcgen="http://fasb.org/dis/crcgen/2018-01-31" xmlns:stpr-all="http://xbrl.sec.gov/stpr-all-all-all/2018-01-31" xmlns:ni="http://fasb.org/dis/ni/2018-01-31" xmlns:country-ent-std="http://xbrl.sec.gov/country-ent-std/2017-01-31" xmlns:othliab="http://fasb.org/dis/othliab/2018-01-31" xmlns:srt-all="http://fasb.org/srt-all/2018-01-31" xmlns:rd="http://fasb.org/dis/rd/2018-01-31" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:debt="http://fasb.org/dis/debt/2018-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:exch-std="http://xbrl.sec.gov/exch-std/2018-01-31" xmlns:sec-vq="http://fasb.org/dis/sec-vq/2018-01-31" xmlns:ocpfs="http://fasb.org/dis/ocpfs/2018-01-31" xmlns:naics-ent-std="http://xbrl.sec.gov/naics-ent-std/2017-01-31" xmlns:aro="http://fasb.org/dis/aro/2018-01-31" xmlns:stpr-ent-all="http://xbrl.sec.gov/stpr-ent-all-all-all/2018-01-31" xmlns:stpr-ent-std="http://xbrl.sec.gov/stpr-ent-std-std-std/2018-01-31" xmlns:equity="http://fasb.org/dis/equity/2018-01-31" xmlns:ero="http://fasb.org/dis/ero/2018-01-31" xmlns:sec-reins="http://fasb.org/dis/sec-reins/2018-01-31" xmlns:fs-fhlb="http://fasb.org/dis/fs-fhlb/2018-01-31" xmlns:leas="http://fasb.org/dis/leas/2018-01-31" xmlns:dei-ent-all="http://xbrl.sec.gov/dei-ent-all/2019-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:rlnro="http://fasb.org/dis/rlnro/2018-01-31" xmlns:deprecated="http://www.xbrl.org/2009/arcrole/deprecated" xmlns:naics-all="http://xbrl.sec.gov/naics-all/2017-01-31" xmlns:sfp-clreo="http://fasb.org/stm/sfp-clreo/2018-01-31" xmlns:crcrb="http://fasb.org/dis/crcrb/2018-01-31" xmlns:soi-reit="http://fasb.org/stm/soi-reit/2018-01-31" xmlns:tin-part="http://fasb.org/tin-part/2018-01-31" xmlns:naics-std="http://xbrl.sec.gov/naics-std/2017-01-31" xmlns:scf-inv="http://fasb.org/stm/scf-inv/2018-01-31" xmlns:schedoi-iiaa="http://fasb.org/dis/schedoi-iiaa/2018-01-31" xmlns:deprecated1="http://www.xbrl.org/2009/role/deprecated" xmlns:inv="http://fasb.org/dis/inv/2018-01-31" xmlns:currency-all="http://xbrl.sec.gov/currency-all/2017-01-31" xmlns:acec="http://fasb.org/dis/acec/2018-01-31" xmlns:us-gaap-entryPoint-all="http://fasb.org/us-gaap-entryPoint-all/2018-01-31" xmlns:schedoi-sumhold="http://fasb.org/dis/schedoi-sumhold/2018-01-31" xmlns:eui="http://fasb.org/dis/eui/2018-01-31" xmlns:fs-bt="http://fasb.org/dis/fs-bt/2018-01-31" xmlns:schedoi-hold="http://fasb.org/dis/schedoi-hold/2018-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:scf-indir="http://fasb.org/stm/scf-indir/2018-01-31" xmlns:us-gaap-ent-std="http://fasb.org/us-gaap-ent-std/2018-01-31" xmlns:soi-re="http://fasb.org/stm/soi-re/2018-01-31" xmlns:sfp-cls="http://fasb.org/stm/sfp-cls/2018-01-31" xmlns:dei-all="http://xbrl.sec.gov/dei-all/2019-01-31" xmlns:currency-ent-all="http://xbrl.sec.gov/currency-ent-all/2017-01-31" xmlns:currency-std="http://xbrl.sec.gov/currency-std/2017-01-31" xmlns:invest-all="http://xbrl.sec.gov/invest-all/2013-01-31" xmlns:reorg="http://fasb.org/dis/reorg/2018-01-31" xmlns:sec-mort="http://fasb.org/dis/sec-mort/2018-01-31" xmlns:ts="http://fasb.org/dis/ts/2018-01-31" xmlns:srt-roles="http://fasb.org/srt-roles/2018-01-31" xmlns:fs-mort="http://fasb.org/dis/fs-mort/2018-01-31" xmlns:inctax="http://fasb.org/dis/inctax/2018-01-31" xmlns:country-ent-all="http://xbrl.sec.gov/country-ent-all/2017-01-31" xmlns:foct="http://fasb.org/dis/foct/2018-01-31" xmlns:dccpoa="http://fasb.org/dis/dccpoa/2018-01-31" xmlns:ap="http://fasb.org/dis/ap/2018-01-31" xmlns:ctbl="http://fasb.org/dis/ctbl/2018-01-31" xmlns:sec-suppc="http://fasb.org/dis/sec-suppc/2018-01-31" xmlns:cgnx="http://www.cognex.com/20190929" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:scf-sbo="http://fasb.org/stm/scf-sbo/2018-01-31" xmlns:oi="http://fasb.org/dis/oi/2018-01-31" xmlns:invest-std="http://xbrl.sec.gov/invest-std/2013-01-31" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-roles="http://fasb.org/us-roles/2018-01-31" xmlns:sic-ent-all="http://xbrl.sec.gov/sic-ent-all/2011-01-31" xmlns:srt-std="http://fasb.org/srt-std/2018-01-31" xmlns:invest-ent-all="http://xbrl.sec.gov/invest-ent-all/2013-01-31" xmlns:cce="http://fasb.org/dis/cce/2018-01-31" xmlns:edco="http://fasb.org/dis/edco/2018-01-31" xmlns:sfp-dbo="http://fasb.org/stm/sfp-dbo/2018-01-31" xmlns:soi-sbi="http://fasb.org/stm/soi-sbi/2018-01-31" xmlns:pay="http://fasb.org/dis/pay/2018-01-31" xmlns:exch-ent-all="http://xbrl.sec.gov/exch-ent-all/2018-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:sec-supins="http://fasb.org/dis/sec-supins/2018-01-31" xmlns:com="http://fasb.org/stm/com/2018-01-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:re="http://fasb.org/dis/re/2018-01-31" xmlns:srt-types="http://fasb.org/srt-types/2018-01-31" xmlns:scf-dir="http://fasb.org/stm/scf-dir/2018-01-31" xmlns:diha="http://fasb.org/dis/diha/2018-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31" xmlns:bsoff="http://fasb.org/dis/bsoff/2018-01-31" xmlns:dei-ent-std="http://xbrl.sec.gov/dei-ent-std/2019-01-31" xmlns:scf-sd="http://fasb.org/stm/scf-sd/2018-01-31" xmlns:ppe="http://fasb.org/dis/ppe/2018-01-31" xmlns:sfp-ibo="http://fasb.org/stm/sfp-ibo/2018-01-31" xmlns:sfp-ucreo="http://fasb.org/stm/sfp-ucreo/2018-01-31" xmlns:lea="http://fasb.org/dis/lea/2018-01-31" xmlns:scf-re="http://fasb.org/stm/scf-re/2018-01-31" xmlns:schedoi-fednote="http://fasb.org/dis/schedoi-fednote/2018-01-31" xmlns:sec-sum="http://fasb.org/dis/sec-sum/2018-01-31" xmlns:sr="http://fasb.org/dis/sr/2018-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:sfp-sbo="http://fasb.org/stm/sfp-sbo/2018-01-31" xmlns:ir="http://fasb.org/dis/ir/2018-01-31" xmlns:srt="http://fasb.org/srt/2018-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:eps="http://fasb.org/dis/eps/2018-01-31" xmlns:reference="http://www.xbrl.org/2009/role/reference" xmlns:scf-dbo="http://fasb.org/stm/scf-dbo/2018-01-31" xmlns:soi-int="http://fasb.org/stm/soi-int/2018-01-31" xmlns:country-std="http://xbrl.sec.gov/country-std/2017-01-31" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:exch-all="http://xbrl.sec.gov/exch-all/2018-01-31" xmlns:naics-ent-all="http://xbrl.sec.gov/naics-ent-all/2017-01-31" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:soi-ins="http://fasb.org/stm/soi-ins/2018-01-31" xmlns:us-types="http://fasb.org/us-types/2018-01-31" xmlns:iago="http://fasb.org/dis/iago/2018-01-31" xmlns:schedoi-otsh="http://fasb.org/dis/schedoi-otsh/2018-01-31" xmlns:cc="http://fasb.org/dis/cc/2018-01-31" xmlns:dei-std="http://xbrl.sec.gov/dei-std/2019-01-31" xmlns:emjv="http://fasb.org/dis/emjv/2018-01-31" xmlns:hco="http://fasb.org/dis/hco/2018-01-31" xmlns:us-gaap-all="http://fasb.org/us-gaap-all/2018-01-31" xmlns:us-arcroles="http://fasb.org/us-arcroles/2018-01-31" xmlns:ru="http://fasb.org/dis/ru/2018-01-31" xmlns:soi-indira="http://fasb.org/stm/soi-indira/2018-01-31" xmlns:fs-interest="http://fasb.org/dis/fs-interest/2018-01-31" xmlns:rcc="http://fasb.org/dis/rcc/2018-01-31" xmlns:schedoi-shorthold="http://fasb.org/dis/schedoi-shorthold/2018-01-31" xmlns:schedoi-oocw="http://fasb.org/dis/schedoi-oocw/2018-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:te="http://fasb.org/dis/te/2018-01-31" xmlns:crcsbp="http://fasb.org/dis/crcsbp/2018-01-31" xmlns:country-all="http://xbrl.sec.gov/country-all/2017-01-31" xmlns:regop="http://fasb.org/dis/regop/2018-01-31" xmlns:currency-ent-std="http://xbrl.sec.gov/currency-ent-std/2017-01-31" xmlns:fs-ins="http://fasb.org/dis/fs-ins/2018-01-31" xmlns:spc="http://fasb.org/stm/spc/2018-01-31" xmlns:soi-egm="http://fasb.org/stm/soi-egm/2018-01-31" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:fifvd="http://fasb.org/dis/fifvd/2018-01-31" xmlns:sic-ent-std="http://xbrl.sec.gov/sic-ent-std/2011-01-31" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:invest-ent-std="http://xbrl.sec.gov/invest-ent-std/2013-01-31" xmlns:bc="http://fasb.org/dis/bc/2018-01-31" xmlns:soc="http://fasb.org/stm/soc/2018-01-31" xmlns:sec-re="http://fasb.org/dis/sec-re/2018-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:us-gaap-std="http://fasb.org/us-gaap-std/2018-01-31" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:codification-part="http://fasb.org/codification-part/2018-01-31" xmlns:otherexp="http://fasb.org/dis/otherexp/2018-01-31" xmlns:exch-ent-std="http://xbrl.sec.gov/exch-ent-std/2018-01-31" xmlns:crcpb="http://fasb.org/dis/crcpb/2018-01-31" xmlns:sec-cndfir="http://fasb.org/dis/sec-cndfir/2018-01-31" xmlns:sic-all="http://xbrl.sec.gov/sic-all/2011-01-31" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:disops="http://fasb.org/dis/disops/2018-01-31" xmlns:iaoi="http://fasb.org/dis/iaoi/2018-01-31" xmlns:sheci="http://fasb.org/stm/sheci/2018-01-31" xmlns:se="http://fasb.org/dis/se/2018-01-31" xmlns:guar="http://fasb.org/dis/guar/2018-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
	<head>
		<meta http-equiv="Content-Type" content="text/html" />
		<title>Document</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="FD2019Q3YTD" name="dei:AmendmentFlag" id="Fact-F8AE4962E7FC5C1F96F9EA14A7F8556C-wk-Fact-F8AE4962E7FC5C1F96F9EA14A7F8556C" format="ixt:booleanfalse">false</ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="dei:CurrentFiscalYearEndDate" id="Fact-9B06F0E888C95006B2056B442CD7296F-wk-Fact-9B06F0E888C95006B2056B442CD7296F">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="dei:DocumentFiscalPeriodFocus" id="Fact-4D919986E170596C857C31F388C82ECC-wk-Fact-4D919986E170596C857C31F388C82ECC">Q3</ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="dei:DocumentFiscalYearFocus" id="Fact-50B6FCDE262A5CF4BF935E1DF2A5390F-wk-Fact-50B6FCDE262A5CF4BF935E1DF2A5390F">2019</ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="dei:EntityCentralIndexKey" id="Fact-6FA0C65414135870A636FC9801E9CA33-wk-Fact-6FA0C65414135870A636FC9801E9CA33">0000851205</ix:nonNumeric><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FI2018Q4" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact-969A45509CB35C8A936E7161FF954F55-wk-Fact-969A45509CB35C8A936E7161FF954F55">1646000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FI2019Q3" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact-7E50491D07FC5F4AAD0D6D42A15F6154-wk-Fact-7E50491D07FC5F4AAD0D6D42A15F6154">1874000</ix:nonFraction><ix:nonFraction decimals="INF" unitRef="usdPerShare" contextRef="FI2018Q4" name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact-3AFCF9BC64595CB9AF815E76F65755D0-wk-Fact-3AFCF9BC64595CB9AF815E76F65755D0">0.002</ix:nonFraction><ix:nonFraction decimals="INF" unitRef="usdPerShare" contextRef="FI2019Q3" name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact-2039E9A8EC6650618DAA4CEAC217B556-wk-Fact-2039E9A8EC6650618DAA4CEAC217B556">0.002</ix:nonFraction><ix:nonFraction decimals="INF" unitRef="shares" contextRef="FI2018Q4" name="us-gaap:CommonStockSharesAuthorized" id="Fact-80AB3814D138543DADFC6E673CCC8380-wk-Fact-80AB3814D138543DADFC6E673CCC8380">300000000</ix:nonFraction><ix:nonFraction decimals="INF" unitRef="shares" contextRef="FI2019Q3" name="us-gaap:CommonStockSharesAuthorized" id="Fact-9E90BC92FBEB5B52BAE9C99302A6D412-wk-Fact-9E90BC92FBEB5B52BAE9C99302A6D412">300000000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="shares" contextRef="FI2018Q4" name="us-gaap:CommonStockSharesIssued" id="Fact-CD8C867521295FFC804E59C8EEF73152-wk-Fact-CD8C867521295FFC804E59C8EEF73152">170820000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="shares" contextRef="FI2019Q3" name="us-gaap:CommonStockSharesIssued" id="Fact-EBABD6C6CD0151C680524D3AE77B1F7A-wk-Fact-EBABD6C6CD0151C680524D3AE77B1F7A">170897000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3QTD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" id="Fact-29999D1ABBB451E5B8C7F14E2575A2D9-wk-Fact-29999D1ABBB451E5B8C7F14E2575A2D9">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3YTD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" id="Fact-1682F669F61153B4B6DE8426E9CB1814-wk-Fact-1682F669F61153B4B6DE8426E9CB1814">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3QTD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" id="Fact-FEDB3686918F55D6AE5C254FE39190A2-wk-Fact-FEDB3686918F55D6AE5C254FE39190A2">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3YTD" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" id="Fact-B59B9CA5CBBF572CA130241D42C29861-wk-Fact-B59B9CA5CBBF572CA130241D42C29861">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3QTD" name="us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" id="Fact-D4CFFAC5584A5D06B6B403DCDCB72DE7-wk-Fact-D4CFFAC5584A5D06B6B403DCDCB72DE7">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3YTD" name="us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" id="Fact-0A0CCD41208D5032853BFA77EAAF0401-wk-Fact-0A0CCD41208D5032853BFA77EAAF0401">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3QTD" name="us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" id="Fact-AD968D01F0EC508191BE21B671CD4DDC-wk-Fact-AD968D01F0EC508191BE21B671CD4DDC">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3YTD" name="us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" id="Fact-F33FAB9AB0EF58EFB7E65738B4B8000C-wk-Fact-F33FAB9AB0EF58EFB7E65738B4B8000C">0</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3QTD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" id="Fact-9BA2652979155CFFB373B85E372DAE34-wk-Fact-9BA2652979155CFFB373B85E372DAE34">24000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2018Q3YTD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" id="Fact-F7D2F3CBE11A54409AC0349E2BECCB12-wk-Fact-F7D2F3CBE11A54409AC0349E2BECCB12" sign="-">82000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3QTD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" id="Fact-5E4AC1F3C41E5D98B6E6E75322FAE942-wk-Fact-5E4AC1F3C41E5D98B6E6E75322FAE942" sign="-">5000</ix:nonFraction><ix:nonFraction decimals="-3" unitRef="usd" contextRef="FD2019Q3YTD" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" id="Fact-6CA9AE28511153398E59283760A22D76-wk-Fact-6CA9AE28511153398E59283760A22D76">502000</ix:nonFraction><ix:nonNumeric contextRef="FD2019Q3YTD_srt_RangeAxis_srt_MinimumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Fact-3A7DA4EED5A4597A95802A25A1BDE5BF-wk-Fact-3A7DA4EED5A4597A95802A25A1BDE5BF">P4Y</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:href="cgnx-20190929.xsd" xlink:type="simple"></link:schemaRef></ix:references><ix:resources><xbrli:context id="FD2019Q3YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q3">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-09-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2017Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2018-09-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2018-09-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-09-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2018-09-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="I2018Q1Jan1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-01-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="I2018Q1Jan1">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-01-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2019-06-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2019-06-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2019-06-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2019-06-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q2">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-06-30</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
		<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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
		<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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q2">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
		<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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
		<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:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
		<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:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
		<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:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
		<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">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
		<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:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:GViVenturesInc.Member</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:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</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:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
		<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:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
		<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:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
		<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:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
		<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:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="I2019Q1Jan01">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-01-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2018Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2018-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
		<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>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_StatementGeographicalAxis_country_CN">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_StatementGeographicalAxis_country_CN">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_StatementGeographicalAxis_country_CN">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_StatementGeographicalAxis_country_CN">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<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>2018-07-02</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
		<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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-09-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
		<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>2019-07-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
		<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:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q1QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-03-31</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2018Q1QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-04-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
		<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>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_srt_RangeAxis_srt_MinimumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
		<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:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-09-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="I2018Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-10-29</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember">
		<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>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:RevenueCommissionersIrelandMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:StateAdministrationOfTaxationChinaMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-01-01</xbrli:startDate>
			<xbrli:endDate>2019-09-29</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:SualabCo.Ltd.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2019-10-16</xbrli:startDate>
			<xbrli:endDate>2019-10-16</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<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>2019-10-28</xbrli:startDate>
			<xbrli:endDate>2019-10-28</xbrli:endDate>
		</xbrli:period>
	</xbrli:context><xbrli:context id="I2019Q3_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:SualabCo.Ltd.Member</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2019-10-16</xbrli:instant>
		</xbrli:period>
	</xbrli:context><xbrli:unit id="number">
		<xbrli:measure>xbrli:pure</xbrli:measure>
	</xbrli:unit><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:unit id="eur">
		<xbrli:measure>iso4217:EUR</xbrli:measure>
	</xbrli:unit><xbrli:unit id="cad">
		<xbrli:measure>iso4217:CAD</xbrli:measure>
	</xbrli:unit><xbrli:unit id="shares">
		<xbrli:measure>xbrli:shares</xbrli:measure>
	</xbrli:unit><xbrli:unit id="sgd">
		<xbrli:measure>iso4217:SGD</xbrli:measure>
	</xbrli:unit><xbrli:unit id="iso4217_JPY">
		<xbrli:measure>iso4217:JPY</xbrli:measure>
	</xbrli:unit><xbrli:unit id="iso4217_KRW">
		<xbrli:measure>iso4217:KRW</xbrli:measure>
	</xbrli:unit><xbrli:unit id="twd">
		<xbrli:measure>iso4217:TWD</xbrli:measure>
	</xbrli:unit><xbrli:unit id="usd">
		<xbrli:measure>iso4217:USD</xbrli:measure>
	</xbrli:unit><xbrli:unit id="group">
		<xbrli:measure>cgnx:group</xbrli:measure>
	</xbrli:unit></ix:resources></ix:header></div><div><a id="s2AC7FB9F14D855A4A1543B4325A059C1"></a></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:97.65625%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td></tr><tr><td colspan="5" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:11pt;"><span style="font-family:Arial;font-size:11pt;font-weight:bold;">UNITED STATES</span></div><div style="line-height:120%;text-align:center;font-size:11pt;"><span style="font-family:Arial;font-size:11pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="line-height:120%;text-align:center;font-size:11pt;"><span style="font-family:Arial;font-size:11pt;font-weight:bold;">WASHINGTON, D.C. 20549</span><span style="font-family:Arial;font-size:11pt;">&#160;</span></div><div style="line-height:120%;text-align:center;font-size:22pt;"><span style="font-family:Arial;font-size:22pt;font-weight:bold;">FORM </span><span><ix:nonNumeric id="d19078787e392-wk-Fact-DD7B01DC182D551088EE7D8DF46EC651" name="dei:DocumentType" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-size:22pt;font-weight:bold;">10-Q</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:22pt;">&#160;</span></div><div style="line-height:120%;padding-top:16px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">(Mark One)</span></div><div style="line-height:120%;font-size:12pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:9%;"></td><td style="width:91%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:12pt;"><span style="font-family:Arial Unicode MS;font-size:12pt;"><span><ix:nonNumeric id="d19078787e413-wk-Fact-0DEF272D291A56A8A86A0F2F07E009FF" name="dei:DocumentQuarterlyReport" contextRef="FD2019Q3YTD" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></span></span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Quarterly Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended September 29, 2019 or</span></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:12pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:9%;"></td><td style="width:91%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:12pt;"><span style="font-family:Arial Unicode MS;font-size:12pt;"><span><ix:nonNumeric id="d19078787e433-wk-Fact-AB34EA5005305A5E8B11694FB42AB2F2" name="dei:DocumentTransitionReport" contextRef="FD2019Q3YTD" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Transition Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from __________ to __________</span></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:9.5pt;"><span style="font-family:Arial;font-size:9.5pt;font-weight:bold;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span></div><div style="line-height:120%;text-align:center;font-size:9.5pt;"><span style="font-family:Arial;font-size:9.5pt;font-weight:bold;">Commission File Number </span><span><ix:nonNumeric id="d19078787e446-wk-Fact-12068929E9EB5E71BE600370941ED220" name="dei:EntityFileNumber" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-size:9.5pt;font-weight:bold;">001-34218</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:9.5pt;font-weight:bold;"> </span></div><div style="line-height:120%;text-align:center;font-size:17pt;"><span><ix:nonNumeric id="d19078787e452-wk-Fact-B80549FCE26D5D23A4FF6D23FED71605" name="dei:EntityRegistrantName" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-size:17pt;font-weight:bold;">COGNEX CORP</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:17pt;font-weight:bold;">ORATION</span></div><div style="line-height:120%;text-align:center;font-size:9pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:431px;border-collapse:collapse;text-align:left;"><tr><td colspan="1"></td></tr><tr><td style="width:430px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">(Exact name of registrant as specified in its charter)</span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:9pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:63.28125%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:49%;"></td><td style="width:2%;"></td><td style="width:49%;"></td></tr><tr><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonNumeric id="d19078787e486-wk-Fact-632B9D2774A85C7882EEE6729F3913ED" name="dei:EntityIncorporationStateCountryCode" contextRef="FD2019Q3YTD" format="ixt-sec:stateprovnameen">Massachusetts</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonNumeric id="d19078787e496-wk-Fact-63867D41AECB54A9BD330727188D7583" name="dei:EntityTaxIdentificationNumber" contextRef="FD2019Q3YTD">04-2713778</ix:nonNumeric></span></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">(State or other jurisdiction of</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">incorporation or organization)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">(I.R.S. Employer</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Identification No.)</span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span><ix:nonNumeric id="d19078787e523-wk-Fact-8EB0A1F28FF75F809F70C19ACC0365F0" name="dei:EntityAddressAddressLine1" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-weight:bold;">One Vision Drive</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span><ix:nonNumeric id="d19078787e529-wk-Fact-6F50AE52A15E537A95AEA168699E3FF0" name="dei:EntityAddressCityOrTown" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-weight:bold;">Natick</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;">, </span><span><ix:nonNumeric id="d19078787e534-wk-Fact-26CDB039BDE75D939B20FBB925B0E53C" name="dei:EntityAddressStateOrProvince" contextRef="FD2019Q3YTD" format="ixt-sec:stateprovnameen"><span style="font-family:Arial;font-weight:bold;">Massachusetts</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span><span><ix:nonNumeric id="d19078787e539-wk-Fact-46B79FF68E145FB187BF18C0503A1626" name="dei:EntityAddressPostalZipCode" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-weight:bold;">01760</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;">-2059</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(</span><span><ix:nonNumeric id="d19078787e547-wk-Fact-B06948AC6E7858D1A2001E3A99BF4573" name="dei:CityAreaCode" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-weight:bold;">508</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;">) </span><span><ix:nonNumeric id="d19078787e552-wk-Fact-F1DD6C5021D75E27A3B4152265C2511D" name="dei:LocalPhoneNumber" contextRef="FD2019Q3YTD"><span style="font-family:Arial;font-weight:bold;">650-3000</span></ix:nonNumeric></span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span></div><div style="line-height:120%;text-align:center;font-size:8pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:617px;border-collapse:collapse;text-align:left;"><tr><td colspan="1"></td></tr><tr><td style="width:617px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">(Address, including zip code, and telephone number, including area code, of principal executive offices)</span></div></td></tr></table></div></div><div style="line-height:120%;padding-left:18px;text-indent:12px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><br/></span></div><div style="line-height:120%;padding-left:18px;text-indent:12px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Securities registered pursuant to the Section 12(b) of the Act:</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:94.921875%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:38%;"></td><td style="width:21%;"></td><td style="width:41%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Title of each class</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Trading Symbol(s)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Name of each exchange on which registered</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e605-wk-Fact-C519BB96D3C55AD89CD8E5F7496312C3" name="dei:Security12bTitle" contextRef="FD2019Q3YTD">Common Stock, par value $.002 per share</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e610-wk-Fact-D289B361E5E75A549CD8391B926C3374" name="dei:TradingSymbol" contextRef="FD2019Q3YTD">CGNX</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e615-wk-Fact-A32028409DC45283B7614EBA4CF2D0AB" name="dei:SecurityExchangeName" contextRef="FD2019Q3YTD" format="ixt-sec:exchnameen">The NASDAQ Stock Market LLC</ix:nonNumeric></span></span></div></td></tr></table></div></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><br/></span></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">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="line-height:120%;text-indent:32px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:643px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:130px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:76px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e658-wk-Fact-F44ED12D5C925CD7A2D87B6C2D086D9B" name="dei:EntityCurrentReportingStatus" contextRef="FD2019Q3YTD">Yes</ix:nonNumeric></span></span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9746;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">No</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9744;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><br/></span></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">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="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:643px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:130px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:76px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e751-wk-Fact-FBA2BFD3D6FA56538DE8D2968DBCA5AC" name="dei:EntityInteractiveDataCurrent" contextRef="FD2019Q3YTD">Yes</ix:nonNumeric></span></span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9746;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">No</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9744;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><br/></span></div><div style="line-height:120%;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">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="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:590px;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:164px;"></td><td style="width:44px;"></td><td style="width:18px;"></td><td style="width:18px;"></td><td style="width:18px;"></td><td style="width:10px;"></td><td style="width:269px;"></td><td style="width:45px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;"><span><ix:nonNumeric id="d19078787e828-wk-Fact-6B8AA36EC4425863A25380AC6C441FAD" name="dei:EntityFilerCategory" contextRef="FD2019Q3YTD" format="ixt-sec:entityfilercategoryen">Large accelerated filer</ix:nonNumeric></span></span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9746;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Accelerated&#160;filer</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9744;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Non-accelerated filer</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9744;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Smaller&#160;reporting&#160;company</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;"><span><ix:nonNumeric id="d19078787e904-wk-Fact-883AFF2380845647BB509D822B55B73B" name="dei:EntitySmallBusiness" contextRef="FD2019Q3YTD" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Emerging growth company</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;"><span><ix:nonNumeric id="d19078787e945-wk-Fact-2DFAF51BE0515446BBABB039EECC592A" name="dei:EntityEmergingGrowthCompany" contextRef="FD2019Q3YTD" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div style="line-height:120%;text-indent:30px;font-size:10pt;"><span style="font-family:Arial;font-size:8pt;">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="font-family:Arial;font-size:8pt;font-weight:bold;"> </span><span style="font-family:Arial Unicode MS;">&#9744;</span></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">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="line-height:120%;text-align:center;text-indent:0px;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:643px;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:130px;"></td><td style="width:16px;"></td><td style="width:42px;"></td><td style="width:46px;"></td><td style="width:44px;"></td><td style="width:16px;"></td><td style="width:76px;"></td><td style="width:16px;"></td><td style="width:30px;"></td><td style="width:46px;"></td><td style="width:45px;"></td><td style="width:14px;"></td><td style="width:116px;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">Yes</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;"><span><ix:nonNumeric id="d19078787e1039-wk-Fact-A24CFCEE935B5AA7A827478FE251B1D7" name="dei:EntityShellCompany" contextRef="FD2019Q3YTD" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">No</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial Unicode MS;font-size:10pt;">&#9746;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><span style="font-family:Arial;font-size:8pt;">As of </span><span style="font-family:Arial;font-size:8pt;"><span><span style="white-space:nowrap"><ix:nonNumeric id="d19078787e1090-wk-Fact-3BB1A94311BE5A4A8BFE6960D96E9C02" name="dei:DocumentPeriodEndDate" contextRef="FD2019Q3YTD" format="ixt:datemonthdayyearen">September 29, 2019</ix:nonNumeric></span></span></span><span style="font-family:Arial;font-size:8pt;">, there were </span><span style="font-family:Arial;font-size:8pt;"><span><ix:nonFraction id="d19078787e1094-wk-Fact-F5CCE3F541625DBB8F3F7D87592FDC5E" name="dei:EntityCommonStockSharesOutstanding" contextRef="FI2019Q3" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">170,897,294</ix:nonFraction></span></span><span style="font-family:Arial;font-size:8pt;"> shares of Common Stock, $.002 par value per share, of the registrant outstanding.</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:97.65625%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td><td style="width:20%;"></td></tr><tr><td colspan="5" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr></table></div></div><div><br/></div><hr style="page-break-after:always"></hr><div><a id="s1FF7E766237D542AA501CF51CA177ECC"></a></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">INDEX</span></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="3"></td></tr><tr><td style="width:9%;"></td><td style="width:85%;"></td><td style="width:6%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">PART&#160;I</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">FINANCIAL INFORMATION</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3C37B7C5F88D5B438108C9F242EBCBE4">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3C37B7C5F88D5B438108C9F242EBCBE4"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Financial Statements (interim periods unaudited)</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s3C37B7C5F88D5B438108C9F242EBCBE4">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s122016271734535CAE38063A54D23124"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Operations for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s122016271734535CAE38063A54D23124">3</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s22E526D0BE965FC4866288B9C59276F9"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Comprehensive Income for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s22E526D0BE965FC4866288B9C59276F9">4</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s51508E1E968F5301807625141431714B"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Balance Sheets as of September 29, 2019 and December 31, 2018</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s51508E1E968F5301807625141431714B">5</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s87D4190D4F915B86A161038C4A22161A"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Cash Flows for the nine-month periods ended September 29, 2019 and September 30, 2018</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s87D4190D4F915B86A161038C4A22161A">6</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sBA305E5B3EE65CA88214BF499F834847"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Shareholders&#8217; Equity for the three-month and nine-month periods ended September 29, 2019 and September 30, 2018</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sBA305E5B3EE65CA88214BF499F834847">7</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s84E198A9C0645551A04861B67A0BC6DF"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Notes to Consolidated Financial Statements</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s84E198A9C0645551A04861B67A0BC6DF">9</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC1EA626A1F675CCCA71988AC7B8C8DB3"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC1EA626A1F675CCCA71988AC7B8C8DB3"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Management's Discussion and Analysis of Financial Condition and Results of Operations</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sC1EA626A1F675CCCA71988AC7B8C8DB3">22</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s7DFC3985CC685A44AF5F77934FE3D26B"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s7DFC3985CC685A44AF5F77934FE3D26B"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Quantitative and Qualitative Disclosures About Market Risk</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s7DFC3985CC685A44AF5F77934FE3D26B">26</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0BC65EE583775F8282EB3944907CF915"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0BC65EE583775F8282EB3944907CF915"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Controls and Procedures</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0BC65EE583775F8282EB3944907CF915">26</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;" href="#s0955BA6EACF55F5E99AB78DE80DAED86"><span style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">PART&#160;II</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;" href="#s0955BA6EACF55F5E99AB78DE80DAED86"><span style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">OTHER INFORMATION</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s095B071DC7005E4095EF807F0CFDA509"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s095B071DC7005E4095EF807F0CFDA509"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Legal Proceedings</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s095B071DC7005E4095EF807F0CFDA509">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0A031A42E8A351A2A5EA7339B85A2489"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1A.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0A031A42E8A351A2A5EA7339B85A2489"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Risk Factors</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0A031A42E8A351A2A5EA7339B85A2489">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s413381B7E0895551961439AFD6AB7ACD"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s413381B7E0895551961439AFD6AB7ACD"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Unregistered Sales of Equity Securities and Use of Proceeds</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s413381B7E0895551961439AFD6AB7ACD">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s36F39E11510E50B0B33D144D675C068D"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s36F39E11510E50B0B33D144D675C068D"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Defaults Upon Senior Securities</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s36F39E11510E50B0B33D144D675C068D">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sF43617930BB551DCA615D5811F8CDECF"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sF43617930BB551DCA615D5811F8CDECF"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Mine Safety Disclosures</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sF43617930BB551DCA615D5811F8CDECF">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0352C7206324582BB4C1D5CC74F59912"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;5.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0352C7206324582BB4C1D5CC74F59912"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Other Information</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s0352C7206324582BB4C1D5CC74F59912">27</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sED21B598AF12501C81FA3A0D586C3AF9"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;6.</span></a></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sED21B598AF12501C81FA3A0D586C3AF9"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Exhibits</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sED21B598AF12501C81FA3A0D586C3AF9">28</a></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s9031A80115A25DA3B17432AF9748C983"><span style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Signatures</span></a></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#s9031A80115A25DA3B17432AF9748C983">29</a></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">2</span></div></div><hr style="page-break-after:always"></hr><div><a id="s3C37B7C5F88D5B438108C9F242EBCBE4"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">PART I: FINANCIAL INFORMATION</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 1: FINANCIAL STATEMENTS</span></div><div><a id="s122016271734535CAE38063A54D23124"></a></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(In thousands, except per share amounts)</span></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:45%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Revenue</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e634-wk-Fact-D87476BD383254658A0565571FE98076" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">183,325</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e653-wk-Fact-A0B9A3868C4F5663A1427018D1637E20" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">232,221</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e672-wk-Fact-F568A777847051799976291F44866CD6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">555,856</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e692-wk-Fact-180D186C103E5E198D3C769752920447" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">613,052</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e707-wk-Fact-AD4AAFEADCF358EFB9069F483342CA4F" name="us-gaap:CostOfGoodsAndServicesSold" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">47,632</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e726-wk-Fact-D4D0781876A75D92819F7EB1F9BC5F53" name="us-gaap:CostOfGoodsAndServicesSold" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">58,860</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e745-wk-Fact-AE3DCAF3C3FF5E28AB9B4711F04630E0" name="us-gaap:CostOfGoodsAndServicesSold" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">144,883</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e765-wk-Fact-09A019FE49DC594DB95C69D4C8B5F20C" name="us-gaap:CostOfGoodsAndServicesSold" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">153,227</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross margin</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e785-wk-Fact-76DE9DEC4FA252E281E1C51E8013BC66" name="us-gaap:GrossProfit" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">135,693</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e804-wk-Fact-C41E6E2698585198AB209D3BEE8B6D36" name="us-gaap:GrossProfit" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,361</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e823-wk-Fact-A459DB2004245A6BBAE679A29B9BE7CE" name="us-gaap:GrossProfit" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">410,973</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e843-wk-Fact-E8257053858D5BC28B2F5C6E4917BC15" name="us-gaap:GrossProfit" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">459,825</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e863-wk-Fact-F1386ED61D6F5EB48BA0D8B418464FDA" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">28,115</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e882-wk-Fact-E8950EE6823352EFBF499BFFF421BC79" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">29,700</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e901-wk-Fact-F2C9FA11585F5400A6EE5D8899415D62" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">86,436</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e921-wk-Fact-9D7074526F375361957D97C53328A60A" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">87,664</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e941-wk-Fact-C79A2C6E392051D8AA5FC319EAF9C65D" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">64,486</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e960-wk-Fact-33898E7833CF59949FF11B58F9E3BB21" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">65,817</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e979-wk-Fact-6C33DB61D15355F293F3AE766F2EE21D" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">199,542</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e999-wk-Fact-6695C14960CD55C099F0B5EE68366B63" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">196,266</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating income</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1019-wk-Fact-84A0602C34165CA58302E571F65DD2E7" name="us-gaap:OperatingIncomeLoss" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">43,092</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1038-wk-Fact-E70C7BD9A7705DB6BACB8ACF8763CC7B" name="us-gaap:OperatingIncomeLoss" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">77,844</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1057-wk-Fact-719E8FEA947157548D36C354AE5BBB6B" name="us-gaap:OperatingIncomeLoss" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">124,995</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1077-wk-Fact-F12D6056A7E95022B726B7AED62AEB16" name="us-gaap:OperatingIncomeLoss" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">175,895</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19077804e1097-wk-Fact-59307BD2FFCB56A2B0BC7AFA8227190D" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,295</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19077804e1117-wk-Fact-66B51EC7083852F9B14180465B1F74A9" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">379</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19077804e1137-wk-Fact-D0F063F825B258F08306F2DA9B59E72D" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,403</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19077804e1158-wk-Fact-DFABEBDAEB815AF19935AA5BF1E781E0" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">708</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Investment income</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1179-wk-Fact-55616B81996054F58E58EE55FD7B6355" name="us-gaap:InvestmentIncomeNonoperating" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,114</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1198-wk-Fact-5AA7886531A758E4839BABEA472E7A5B" name="us-gaap:InvestmentIncomeNonoperating" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,937</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1217-wk-Fact-443AAF05A3E65D1D85EDE9B89274B482" name="us-gaap:InvestmentIncomeNonoperating" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15,242</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1237-wk-Fact-5F5941788CF2541A8CCCA7CE8514186B" name="us-gaap:InvestmentIncomeNonoperating" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,736</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other income (expense)</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1258-wk-Fact-A9DD21CDBF91577294818C98CB291834" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">456</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19077804e1277-wk-Fact-BBF21D81BA895D83AAEE29E54D79473C" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">129</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1297-wk-Fact-4C4459B241585DDFAEBCD044E937C86B" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,239</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19077804e1317-wk-Fact-BCDE1FD5E994540EA73C3D96C3A18495" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">98</ix:nonFraction></span></span></div></td><td style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income before income tax expense</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1338-wk-Fact-6E7A3000CB0C5D76B03F8D20B2E4708A" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">47,367</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1357-wk-Fact-E4897D368E10555290EA307F52D6711C" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">81,273</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1376-wk-Fact-3B9F4378BCB951FE960A8E42850DAC3A" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">140,073</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1396-wk-Fact-729E55B76395597CACED26F86D2D6B9A" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">185,825</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1416-wk-Fact-73B6EF10ED1E55279292936EC36B3B6C" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,682</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1435-wk-Fact-147AA3DB15635EB9916557927D2808F1" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">837</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1454-wk-Fact-BA0486BBDB665C32902F2A1350EA34BB" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1474-wk-Fact-67ACDC409CC3550A81DD18D4B28C9DF9" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,976</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net income</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1499-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">41,685</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1518-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">80,436</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1537-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">123,538</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1557-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,849</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td colspan="16" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalent share:</span></div><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1743-wk-Fact-949A81632EA753EF88DCA654E72859BC" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="FD2019Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.24</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1762-wk-Fact-1DEC50115F21507485BB282537839618" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="FD2018Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.47</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1781-wk-Fact-9D7EF9B3126D5CAFAFF2B570118B9910" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.72</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1801-wk-Fact-0BF74DFA2F0A560081EBB273C83AA00A" name="us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare" contextRef="FD2018Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">1.01</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Diluted</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1821-wk-Fact-1BA80F33686753CC867A94FA31A514F1" name="us-gaap:EarningsPerShareDiluted" contextRef="FD2019Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.24</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1840-wk-Fact-87B726036C0956F1A67CA0A7689A9782" name="us-gaap:EarningsPerShareDiluted" contextRef="FD2018Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.45</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e1859-wk-Fact-21887F73B7F05EA79782579D609ED1E5" name="us-gaap:EarningsPerShareDiluted" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.71</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e1879-wk-Fact-76E327C5B2DD556B9AC9C9B92550025A" name="us-gaap:EarningsPerShareDiluted" contextRef="FD2018Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">0.98</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:8px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td colspan="16" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding:</span></div></td></tr><tr><td style="vertical-align:middle;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2058-wk-Fact-80A7E07AFF9758B98F85A1BA237B4E2F" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2019Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,744</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2077-wk-Fact-42A1A491372756ADB9A63192E2035B03" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2018Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,189</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2096-wk-Fact-18AF80432B4B564D8EA12B300BB14D0F" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">171,053</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2116-wk-Fact-450FAE4711BC52F8BFAE77A07E3CA33A" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2018Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,613</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:middle;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Diluted</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2137-wk-Fact-4D1C23EBB3D15D4DA1E092FF3AEC13C9" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2019Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">174,449</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2156-wk-Fact-492CE133AF9D5CAEB1063D27A1B2C5B3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2018Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">177,245</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2175-wk-Fact-BC0F732AAEBE5654BDC0C96982E19BC8" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">175,164</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2195-wk-Fact-7EC95DD9BA585E3CBD2590C40EEC3A72" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2018Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">178,021</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash dividends per common share</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2302-wk-Fact-289CD799D09B5E83963C53F55532D86F" name="us-gaap:CommonStockDividendsPerShareCashPaid" contextRef="FD2019Q3QTD" unitRef="usdPerShare" decimals="INF" scale="0" format="ixt:numdotdecimal">0.050</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2321-wk-Fact-701768A937E157CCAE0179F61C4764CF" name="us-gaap:CommonStockDividendsPerShareCashPaid" contextRef="FD2018Q3QTD" unitRef="usdPerShare" decimals="INF" scale="0" format="ixt:numdotdecimal">0.045</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19077804e2340-wk-Fact-B1A2787E08ED56F19E28F436B951D753" name="us-gaap:CommonStockDividendsPerShareCashPaid" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="INF" scale="0" format="ixt:numdotdecimal">0.150</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:middle;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19077804e2360-wk-Fact-CFE470791AE45F0FA31815764C283248" name="us-gaap:CommonStockDividendsPerShareCashPaid" contextRef="FD2018Q3YTD" unitRef="usdPerShare" decimals="INF" scale="0" format="ixt:numdotdecimal">0.135</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">3</span></div></div><hr style="page-break-after:always"></hr><div><a id="s22E526D0BE965FC4866288B9C59276F9"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(In thousands)</span></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:45%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e632-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">41,685</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e651-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">80,436</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e670-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">123,538</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e690-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,849</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Available-for-sale investments:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e951-wk-Fact-7EEFB65BF3F4568089DFDCAE5C8307D5" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">265</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e970-wk-Fact-A2723AF308B2525BA09C7231BF0C1A84" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">522</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e989-wk-Fact-802FCCE1814F5C4FA7759889A1585068" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,827</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1009-wk-Fact-565562FE14635ACAAAFF495CAC42AA7F" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">180</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1030-wk-Fact-609A4F906FD250F9A8F44A6735CEC654" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">294</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1050-wk-Fact-41C15225FAC15E86B6A58E8762BC6E86" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">266</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1070-wk-Fact-009DE77DDEFE5858BF60FC1FCA7AC805" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">716</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1091-wk-Fact-876534E26FDC51B4A6825488111446B7" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net change related to available-for-sale investments</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1112-wk-Fact-221ECBADE2DC5F41BFE4F3C2EE99EEC4" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">29</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e1132-wk-Fact-4C755E878E8B52C18AC0EDC7A20363FA" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">256</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e1151-wk-Fact-37FA98CA4ED65B07BBDC2171AC79F202" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,111</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1171-wk-Fact-FE81FE39DBFD50F1BD058950A650D73C" name="us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">715</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1357-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,099</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1377-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,881</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1397-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,544</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1418-wk-Fact-6B5D079486615E1693538B3678C93E20" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,078</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net change related to foreign currency translation adjustments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1439-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,099</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1459-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,881</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1479-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,544</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1500-wk-Fact-6B5D079486615E1693538B3678C93E20" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,078</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:21px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19080501e1603-wk-Fact-B82A665502B0561AA3DA07D26309861D" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,128</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1623-wk-Fact-A52AB8E376FD51B5A1E8BFF7E9E155A0" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,625</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e1643-wk-Fact-50043103DE195C459D6C49A450CF968F" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,567</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19080501e1663-wk-Fact-ACBBA96D2DDB5CAB845920181F0619C3" name="us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,793</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Total comprehensive income</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e1689-wk-Fact-A72EB87C0C835D9A89C37BA5E2C1A533" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">40,557</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e1708-wk-Fact-B48CFECA8DA45E67B9D6E58FD7FCAD27" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">78,811</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19080501e1727-wk-Fact-154F8EB707EA5FEB8EAB6D966929B6FB" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">126,105</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19080501e1747-wk-Fact-F9B0D37A4E615C2EABF3D6A9A8F72EC0" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">168,056</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">4</span></div></div><hr style="page-break-after:always"></hr><div><a id="s51508E1E968F5301807625141431714B"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED BALANCE SHEETS</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(In thousands)</span></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">(unaudited)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">ASSETS</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Current assets:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Cash and cash equivalents</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e545-wk-Fact-05057433E1985A589A65CC28126A51F1" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">121,701</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e564-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108,212</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e579-wk-Fact-EB38191BAF7C5A1099B62741E521CFC9" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">292,072</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e598-wk-Fact-EA47994E21595A318B82F5F13177AEB5" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">427,348</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e618-wk-Fact-09CC317E743450CAAD00617E2549FD7E" name="us-gaap:AccountsReceivableNetCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">107,407</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e637-wk-Fact-88144088943C5A81A4B1D529D8524CF7" name="us-gaap:AccountsReceivableNetCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">119,172</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Unbilled revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e657-wk-Fact-8DFAFB48615553029EEA4C75D29D18DC" name="us-gaap:UnbilledReceivablesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,210</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e676-wk-Fact-91E2CCE814D557B59EC4FFE55C6ACD3B" name="us-gaap:UnbilledReceivablesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,312</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Inventories</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e696-wk-Fact-A30014C259F05615B105E26FF5ECC64E" name="us-gaap:InventoryNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">65,264</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e715-wk-Fact-857C72E7F06850F0AE2F72050E98B439" name="us-gaap:InventoryNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">83,282</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Prepaid expenses and other current assets</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e735-wk-Fact-C5CFFE2BF90A5752A8D7B44152A54018" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">28,127</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e754-wk-Fact-9C80E0B58BD05D48B5FC28523897770B" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">34,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total current assets</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e774-wk-Fact-64C070ECA96A52AE84049D8A83629854" name="us-gaap:AssetsCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">625,781</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e793-wk-Fact-D0008DE91F295FA59FE9CFB77A68F3D8" name="us-gaap:AssetsCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">780,326</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e814-wk-Fact-0E2F4EFC17F755AFA4C4D6E63AD8D750" name="us-gaap:LongTermInvestments" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">504,641</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e833-wk-Fact-BBE7C641A3155E8F99B6D8EB4D02A6F5" name="us-gaap:LongTermInvestments" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">262,039</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Property, plant, and equipment, net</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e853-wk-Fact-210666890565549EA9B52F1D3E6401E5" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">88,429</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e872-wk-Fact-1E4278DCA3BE526F84C9C3CA43B8841E" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">91,396</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Operating lease assets</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e892-wk-Fact-BDEB152A84CE5E03A2FE07CA2ED21C57" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15,806</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e911-wk-Fact-81FF097BC2865CF4A95E5397358C83AC" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Goodwill</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e931-wk-Fact-766404F452255C8089C3892341991140" name="us-gaap:Goodwill" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">113,208</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e950-wk-Fact-E1D289B37F505ACFA0A589DB047833A4" name="us-gaap:Goodwill" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">113,208</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Intangible assets, net</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e970-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,994</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e989-wk-Fact-32E11519B899549AA2BDA26070371C13" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,113</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Deferred income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1009-wk-Fact-B6768C6E151B5CA69A08ED7FD1FC1C98" name="us-gaap:DeferredTaxAssetsNetNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">29,273</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1028-wk-Fact-07F2ECF5C833545B897881A1F542FE77" name="us-gaap:DeferredTaxAssetsNetNoncurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">28,660</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Other assets</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1048-wk-Fact-9166945538CE5A5E9EF34E449002BEC4" name="us-gaap:OtherAssetsNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,320</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1067-wk-Fact-04956FFC8720580CA761E45B29099282" name="us-gaap:OtherAssetsNoncurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,925</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total assets</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1092-wk-Fact-EEB0FD23A1F95D6B8A1F629839FF08B9" name="us-gaap:Assets" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,390,452</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1111-wk-Fact-6B5A65714EB35114B2F7DE7EC4B52C41" name="us-gaap:Assets" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,289,667</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:18px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Current liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Accounts payable</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1255-wk-Fact-FEEF759D894B52CB98862F07A5ADA667" name="us-gaap:AccountsPayableCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">12,766</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1274-wk-Fact-68D4ED6999255C82B52441E6C0AA7B12" name="us-gaap:AccountsPayableCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,230</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Accrued expenses</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1289-wk-Fact-DCC09BEC55C15D8E8EDB88AC5AD1B281" name="us-gaap:AccruedLiabilitiesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">48,561</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1308-wk-Fact-73E57DC062A4585CA1E42CB1D08901D9" name="us-gaap:AccruedLiabilitiesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">60,220</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Accrued income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1328-wk-Fact-4D7A6EC4E6F35A1DA1D44F7756D0DB30" name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,012</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1347-wk-Fact-EA9C2425AB125681AA4A6F82371E7B3C" name="us-gaap:AccruedIncomeTaxesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,062</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1367-wk-Fact-320747CCC2065744882C1D7D10EA454E" name="us-gaap:DeferredRevenueAndCreditsCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,431</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1386-wk-Fact-AE8E04B96D105346B1DDB2D1BA05E2C5" name="us-gaap:DeferredRevenueAndCreditsCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9,845</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1406-wk-Fact-ED8A8999C4D053F0A4F57E43D8AB3B02" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,445</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1425-wk-Fact-4671320FD3965A819C8996B64E5C1B69" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total current liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1445-wk-Fact-F2927D35D3DF5CF1B7D269E7DA62A7B3" name="us-gaap:LiabilitiesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">81,215</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1464-wk-Fact-13E22F5EA61D50B1B774B05CBD0BD541" name="us-gaap:LiabilitiesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">91,357</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Non-current operating lease liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1484-wk-Fact-00CEED6BE1585FADA3C597CF4252A0BE" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,722</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1503-wk-Fact-F6390650CF5C50B4A12C0DFC6FB36108" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Deferred income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1523-wk-Fact-D0044F994A0E5071897AF81BD89655EC" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">289</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1542-wk-Fact-B06BB3D7C54652FE853BA787099AEBBB" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">962</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Reserve for income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1562-wk-Fact-124DB1F0EE8055EDB1E543B6BF97A3DA" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,151</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1581-wk-Fact-01A08FD953D558D3A603C37CE9A0D162" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,106</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Non-current accrued income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1601-wk-Fact-9C3176085CA056B880E98BE3DDD11F9F" name="us-gaap:AccruedIncomeTaxes" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">51,113</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1620-wk-Fact-6909664AA03F5B37B42034EE70B8D2B8" name="us-gaap:AccruedIncomeTaxes" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">51,113</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Other liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1640-wk-Fact-93CE4C647AC65E6A952751BB1345B5B5" name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">744</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1659-wk-Fact-16D20966A25B5FA18CCC8F2F92ECC72A" name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,866</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1680-wk-Fact-5C3607F25A6C5F2CA3D0B5FFEFBD550A" name="us-gaap:Liabilities" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">151,234</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1699-wk-Fact-671C8975026D5F5FA812D06474E4F078" name="us-gaap:Liabilities" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">154,404</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Shareholders&#8217; equity:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Preferred stock, $.01 par value &#8211; Authorized: 400 shares in 2019 and 2018, respectively, no shares issued and outstanding</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1801-wk-Fact-32C9659DD86259B99F3E2F46379A1E03" name="us-gaap:PreferredStockValueOutstanding" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1820-wk-Fact-A92B7612AA30530FB3C398D80BF7F750" name="us-gaap:PreferredStockValueOutstanding" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Common stock, $.002 par value &#8211; Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1840-wk-Fact-51BDF847A0545BBBAE5089B121718C31" name="us-gaap:CommonStockValueOutstanding" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">342</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1859-wk-Fact-BD6AC925539A5DA2B70375BC251C7EDA" name="us-gaap:CommonStockValueOutstanding" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">342</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Additional paid-in capital</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1879-wk-Fact-3ADD3CCFEE04535FA05D30727D7ED247" name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">594,427</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1898-wk-Fact-03F61440794D5727BC7A224A7BA594E7" name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">529,208</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Retained earnings</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1918-wk-Fact-DDCC31A657135B57A08DAB5C70CB3140" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">682,383</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e1937-wk-Fact-5744F5DA2061542DA20CF714785CBEFE" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">646,214</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Accumulated other comprehensive loss, net of tax</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span>(<ix:nonFraction id="d19082511e1957-wk-Fact-A981FB05E71A524A9F09C97A16B02AAA" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">37,934</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19082511e1977-wk-Fact-A3A8B66957465C62B7A03B2E67AFFE1E" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">40,501</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total shareholders&#8217; equity</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e1998-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,239,218</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e2017-wk-Fact-4380DFCE039B575FAFD41E21FB0F0A39" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,135,263</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Total liabilities and shareholders' equity</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19082511e2042-wk-Fact-7331102502565AFBB3AE6A19DB491DBD" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,390,452</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19082511e2061-wk-Fact-D228608E9A2E57B383BF859657D3481B" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,289,667</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">5</span></div></div><hr style="page-break-after:always"></hr><div><a id="s87D4190D4F915B86A161038C4A22161A"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:9pt;">(In thousands)</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(unaudited)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash flows from operating activities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net income</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e539-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">123,538</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e558-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,849</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Adjustments to reconcile net income to net cash provided by operating activities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e614-wk-Fact-DCF8406AAD6E5FC39934CC2ACC9E8612" name="us-gaap:StockOptionPlanExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">33,442</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e633-wk-Fact-562123386E0B5AAFAD888AE260B6F4F8" name="us-gaap:StockOptionPlanExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,339</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Depreciation of property, plant, and equipment</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e653-wk-Fact-2D217406C46C53E7945FFEA81B2853FF" name="us-gaap:Depreciation" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15,800</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e672-wk-Fact-1DA59B55E9F25844B3A48F740560793A" name="us-gaap:Depreciation" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">13,474</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortization of intangible assets</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e692-wk-Fact-E32C93E972C05751B58629C2B52E3F4C" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,119</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e711-wk-Fact-D851D829495A52BD9C9DF273C29364BE" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortization of discounts or premiums on investments</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e731-wk-Fact-464BCE4F98A0568CBCCAC325C4B95D49" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">563</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e751-wk-Fact-A685E273E9F05D828C0F3E427C105F6B" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">123</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Realized (gain) loss on sale of investments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e771-wk-Fact-484FDC211BFA51C7AE0D1F17C22C9C12" name="us-gaap:GainLossOnSaleOfInvestments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">716</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e791-wk-Fact-165D174218A95A23B7499A7D80E0C283" name="us-gaap:GainLossOnSaleOfInvestments" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Revaluation of contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e813-wk-Fact-FF94DBEFF0AF55CBA65FF1B43E22C46F" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,401</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e833-wk-Fact-4AE56A5E823A55F79C25ACD8200E7A83" name="us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">50</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Change in deferred income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e854-wk-Fact-08F3A6516DFD5317B13BA0090003884B" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,805</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e874-wk-Fact-BC7F4BE75C2E595CBD5BFFB72A19CD61" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">175</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:52px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Change in operating assets and liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accounts receivable</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e935-wk-Fact-45C97FEAB63D54E68C64BC496962F5D8" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">11,387</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e954-wk-Fact-35CED1AEF60551518CB150321F0EBBD3" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">18,136</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Unbilled revenue</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e975-wk-Fact-E0675DE3C1FF541CA31545FEC378EF55" name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,900</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e995-wk-Fact-BF8EF8CDA0575B4BB840B785A74CFC85" name="us-gaap:IncreaseDecreaseInUnbilledReceivables" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,542</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1016-wk-Fact-444CAC512D2858EEBBAE8DE2B11C0436" name="us-gaap:IncreaseDecreaseInInventories" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">18,019</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1035-wk-Fact-EF3640C622835A4C96CEE87A8FF28235" name="us-gaap:IncreaseDecreaseInInventories" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">27,699</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1056-wk-Fact-8AECF02EA6365C5F84033D1B89C9DF8F" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,827</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1075-wk-Fact-2539D2CE0E2156AF84BE0A03AF0A0D85" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,437</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accounts payable</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1096-wk-Fact-C0B1782A517955ACB65C7C7094BB01D2" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">3,398</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1116-wk-Fact-B33BF456891559EA93B2A69CEBB5A75A" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,182</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1137-wk-Fact-0F4470A0230156E4945847765EE2B0B8" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">11,827</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1157-wk-Fact-DAA3882C4EDC57A4A528E8AEE625FB28" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,266</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued income taxes</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1177-wk-Fact-2FF56902D7E955F794FDC52624B0F4CB" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,043</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1197-wk-Fact-43C18EA2A8F055239F1F4C4F457876F8" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">17,497</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1218-wk-Fact-A68C61FA0B345E478E40F6460A18C5E2" name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">698</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1237-wk-Fact-73F56F03BD785AA39FFE8D884BEBF59A" name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,841</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:68px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1258-wk-Fact-B4125B4E32C25BC8A8AEC476477771DD" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,863</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1278-wk-Fact-397EBA5C59B2535FBAA3285B89AF1667" name="us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,604</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net cash provided by operating activities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1299-wk-Fact-F0C4B43D1EFD53888A3BFE6C5AE3A9AC" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">185,314</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1318-wk-Fact-DAB99FCAA4F458DCA7D1CA2A67D59711" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">151,692</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash flows from investing activities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Purchases of investments</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1379-wk-Fact-50DE70A273CF52EEA200A07EC9CCC935" name="us-gaap:PaymentsToAcquireInvestments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">883,363</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1399-wk-Fact-B7512658A26D558B8C40146FA38E53AB" name="us-gaap:PaymentsToAcquireInvestments" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">616,047</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Maturities and sales of investments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1420-wk-Fact-7830F1D8E296504D83891BE757FC1E57" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">781,929</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1439-wk-Fact-1E3369759F915431B8C518DBBEAB62FB" name="us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">635,119</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Purchases of property, plant, and equipment</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1459-wk-Fact-1AD5F46CB3B553DC9C77E2FF11E5F2E6" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">13,518</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1479-wk-Fact-F7DCD915FD455BD19D05DA89C3B0DCD3" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">27,356</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) investing activities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1500-wk-Fact-5B322FA0F89A584DAA0AF86481BF8217" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">114,952</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1520-wk-Fact-BBCBBCE95F165DDCB5DCBD84BEC7F8B2" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">8,284</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash flows from financing activities:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Issuance of common stock under stock plans</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1582-wk-Fact-3C163537A9885812A61CD9891271062C" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,780</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1601-wk-Fact-FE2DF093F0E85407A9039A10633EAA44" name="us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,882</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Repurchase of common stock</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1621-wk-Fact-8860FA53FA8A56508A939C2312100AC5" name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">61,690</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1641-wk-Fact-4621CE6E86465721BA3C60C848881A90" name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">142,262</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Payment of dividends</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1662-wk-Fact-B1D3660967475FE2AAF768185EDBF9F3" name="us-gaap:PaymentsOfDividendsCommonStock" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,682</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1682-wk-Fact-5509F0CCA9CA58508D833953EC8E972B" name="us-gaap:PaymentsOfDividendsCommonStock" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">23,283</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Payment of contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1704-wk-Fact-43D2890E580150EE9B7A07E3D9B99A44" name="cgnx:Paymentofcontingentconsideration" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1723-wk-Fact-4D84692CDA635329AA1B09ED64A588E2" name="cgnx:Paymentofcontingentconsideration" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) financing activities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1744-wk-Fact-760168D9C0E95F7EB8804225B8DA427C" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">55,592</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1764-wk-Fact-2B8A593135CC5DE3B40134D2FD215C9F" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">140,663</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of foreign exchange rate changes on cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19084362e1785-wk-Fact-8293B35CAE0551C8ACFAA2BDC30DD5E1" name="us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,281</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19084362e1805-wk-Fact-F08D3B42B624517084013C48A8FB1261" name="us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,956</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net change in cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1826-wk-Fact-A272E81091E6500DA2F02EC9CECF4024" name="us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">13,489</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1845-wk-Fact-BF377B6FED8E5BD9BC3693BA1038DFFA" name="us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">789</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at beginning of period</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1865-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108,212</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1884-wk-Fact-F80744F59B5F5192811B108FAE5F19AF" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2017Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">106,582</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at end of period</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19084362e1909-wk-Fact-05057433E1985A589A65CC28126A51F1" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">121,701</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19084362e1928-wk-Fact-0FBE86C9E46455E0BF066D6ABFD9C4F8" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2018Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">107,371</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">6</span></div></div><hr style="page-break-after:always"></hr><div><a id="sBA305E5B3EE65CA88214BF499F834847"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(In thousands)</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="23"></td></tr><tr><td style="width:28%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Common Stock</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Additional</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Paid-in Capital</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Retained Earnings</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Comprehensive</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Loss</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shareholders&#8217;</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Equity</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Par&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of June 30, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e643-wk-Fact-CE2D578102265508BEAEB7F6428964A5" name="us-gaap:CommonStockSharesIssued" contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,661</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e662-wk-Fact-8FC00EBEF96653A9AAABC420EFC6E2CE" name="us-gaap:StockholdersEquity" contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">341</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e681-wk-Fact-0F6BD59085DC57EDB2E242C1C505D648" name="us-gaap:StockholdersEquity" contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">578,871</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e701-wk-Fact-E012180E600B59C4B22B68B77ABDE643" name="us-gaap:StockholdersEquity" contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">649,234</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e720-wk-Fact-63E20D7355E55DAD8D5A0EFE7989597C" name="us-gaap:StockholdersEquity" contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">36,806</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e740-wk-Fact-DE2300C109CD51D8A0A2A82635C5CD1D" name="us-gaap:StockholdersEquity" contextRef="FI2019Q2" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,191,640</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e756-wk-Fact-1C1DDEF763525EF0AC38F1B337812E7F" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">236</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e770-wk-Fact-CFCF0F9086185E1B96ABF661552813C9" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e789-wk-Fact-0999A58E1E095C1CA22CD085606DBE5A" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,362</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e847-wk-Fact-3690CFE38DA151E598A09ACFD479204D" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,363</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e901-wk-Fact-5870F508724E5F0C972F82EE9FB1F53E" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,194</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e959-wk-Fact-86B4222907CE5F3DA1BA13AB39C0F780" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,194</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Payment of dividends</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1033-wk-Fact-1AFE43D10EDF59B1A2E91AD7D2C5DF44" name="us-gaap:DividendsCash" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,536</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1072-wk-Fact-E80DE4BC01B35FC0954466113AA2E8FB" name="us-gaap:DividendsCash" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,536</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1147-wk-Fact-B7E32F46909A5FD89E9BA5F339AF0155" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">41,685</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1185-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">41,685</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($5)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1278-wk-Fact-4418F4E697FD5E1786ADF0492BC06605" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">265</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1297-wk-Fact-7EEFB65BF3F4568089DFDCAE5C8307D5" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">265</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1390-wk-Fact-4A4C9B402CA85872A1C567AADECF3580" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">294</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1410-wk-Fact-609A4F906FD250F9A8F44A6735CEC654" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">294</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1504-wk-Fact-01DD2DF929C85503AB8E74A24F181516" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,099</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e1524-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,099</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of September 29, 2019 (unaudited)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e1546-wk-Fact-361127750FFD51228024441E120FC49E" name="us-gaap:CommonStockSharesIssued" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,897</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e1565-wk-Fact-1B9F1271C75A5BBE936DB6C7618E1AEF" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">342</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e1584-wk-Fact-EAEDCB98AF4358E4AF7F9E2B6D6906A8" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">594,427</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e1604-wk-Fact-D51C5A93D30E5E2AB6C513662BA8E19B" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">682,383</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span>(<ix:nonFraction id="d19090963e1623-wk-Fact-EE41EA7E8AA65D7AA5C159E287658004" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">37,934</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e1643-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,239,218</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="23"></td></tr><tr><td style="width:30%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Common Stock</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Additional</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Paid-in Capital</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Retained Earnings</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Comprehensive</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Loss</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shareholders&#8217;</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Equity</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Par&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of July 1, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1947-wk-Fact-0D00ED46F0CB5463A6A054F8B631387A" name="us-gaap:CommonStockSharesIssued" contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,032</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1966-wk-Fact-1A46E7B5EECF5D4B916A5494A4919287" name="us-gaap:StockholdersEquity" contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">344</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e1985-wk-Fact-FEBC9E7D85DD507582A49C788D86C9AE" name="us-gaap:StockholdersEquity" contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">498,343</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2005-wk-Fact-29523E7BFABB5F85AC28F74E7CB03088" name="us-gaap:StockholdersEquity" contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">619,212</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2024-wk-Fact-74FEFB05BB0652B5A366309095DB0187" name="us-gaap:StockholdersEquity" contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">38,767</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2044-wk-Fact-83BE89B62EE859DDBD64D6F852471C11" name="us-gaap:StockholdersEquity" contextRef="FI2018Q2" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,079,132</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2060-wk-Fact-E81122AAE15A537484953C28279B923B" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">553</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2074-wk-Fact-5A9C30E6A42A5730B12C70EFAD634589" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2093-wk-Fact-C31BD099DA325998892236D267398942" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,070</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2151-wk-Fact-6FD6BB5AB5435C0E957EE89965905808" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,071</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Repurchase of common stock</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2172-wk-Fact-D6E953FA3BA1583694CC37323FA0963D" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">394</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2187-wk-Fact-9A7688E98FE952EFA14AE9F2440D6C91" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2226-wk-Fact-9718CC16C1285D53963BE986C07272B8" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">20,954</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2265-wk-Fact-52DF815A29EB5A7EB5BED3BB35107852" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">20,954</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2320-wk-Fact-EE623457E3DE5A949808ED71DBB251B1" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9,143</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2378-wk-Fact-584FFF7CD8BB5A3DA2F74D65B51201AC" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9,143</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Payment of dividends</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2452-wk-Fact-CADC6D6471EA55AA8DE3FA7BDAFC4AB2" name="us-gaap:DividendsCash" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,759</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2491-wk-Fact-1337C4441F1D565EB58380955F8F3538" name="us-gaap:DividendsCash" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,759</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net income</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2566-wk-Fact-B007478FF6155F4F9154E90BB8B791A3" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">80,436</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2604-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">80,436</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of $24</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2697-wk-Fact-BA949C028C6A5F95A417ECF15ED820E9" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">522</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e2716-wk-Fact-A2723AF308B2525BA09C7231BF0C1A84" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">522</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2809-wk-Fact-3FDCB43297335DEDA9D23FC8F929D997" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">266</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2829-wk-Fact-41C15225FAC15E86B6A58E8762BC6E86" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">266</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2923-wk-Fact-F9658810B2145A5799D05627C999E5A0" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,881</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e2943-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,881</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of September 30, 2018 (unaudited)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e2966-wk-Fact-429BDE86206A554B908AE721D10C0C67" name="us-gaap:CommonStockSharesIssued" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,191</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e2985-wk-Fact-9D2B203975EB577194176C79E0450FBA" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">345</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e3004-wk-Fact-119A360821335DE5A3101D5C9D8AE97F" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">518,556</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e3024-wk-Fact-75A28677531055B2B8C188E328E58D13" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">670,935</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span>(<ix:nonFraction id="d19090963e3043-wk-Fact-A5021CB88B1655F6972B77968811458E" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">40,392</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e3063-wk-Fact-B0FD9D84F8B456F9B2D8138F953EDA25" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,149,444</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">7</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(In thousands)</span></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="23"></td></tr><tr><td style="width:28%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Common Stock</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Additional</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Paid-in Capital</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Retained Earnings</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Comprehensive</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Loss</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shareholders&#8217;</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Equity</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Par&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3397-wk-Fact-8F8ED1F7B90559E9B42E6A6EAF37A121" name="us-gaap:CommonStockSharesIssued" contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,820</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3416-wk-Fact-DA6CFFA0F8E25D389B3035D88F813D55" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">342</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3435-wk-Fact-E9486B0EA1255F2E9AD745B72536FAB6" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">529,208</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3455-wk-Fact-EDB32FA3612C50F9B9644978B1520D88" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">646,214</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3474-wk-Fact-9FBB1CF381965C9E8CF10A3350CA540F" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">40,501</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3494-wk-Fact-4380DFCE039B575FAFD41E21FB0F0A39" name="us-gaap:StockholdersEquity" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,135,263</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3510-wk-Fact-AF1048411A975AAE8C6ACD0BD7CCE5AD" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,475</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3524-wk-Fact-C51453115C7D56CABD6F6142DDAF1927" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3543-wk-Fact-BD80751C732057F89A1DF6E8037A6B3C" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,777</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3601-wk-Fact-BF09AE8C7CAE576CA8A05D28DE9F448E" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,780</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Repurchase of common stock</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3622-wk-Fact-A1C214B51F48540DBBEAFFBFC2BBD3E6" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,398</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3637-wk-Fact-E515FA59BF5452E0BE603070F3F8652D" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3677-wk-Fact-9A9163FD78E35C4F9AE9CA2AADAB1B25" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">61,687</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3716-wk-Fact-3792683025BB5010B3DAAAEE9A598419" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">61,690</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3771-wk-Fact-8DB22651D7A052A59AC4BEDF6CB64516" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">33,442</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e3829-wk-Fact-762EE81BDF0351B9952716FE51DB76FF" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">33,442</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Payment of dividends</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3903-wk-Fact-20DD6779474F530088DC978C10E3C35A" name="us-gaap:DividendsCash" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,682</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e3942-wk-Fact-C5EF21D55B7E5C6E8470E8091B1B2311" name="us-gaap:DividendsCash" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,682</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net income</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4017-wk-Fact-689983E39E4E5C9BB9AEBDCAED86D7D9" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">123,538</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4055-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57" name="us-gaap:NetIncomeLoss" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">123,538</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of $502</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4148-wk-Fact-5FD6EED0D1155F06BF61781569841A55" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,827</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4167-wk-Fact-802FCCE1814F5C4FA7759889A1585068" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,827</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e4260-wk-Fact-A44A3C484A795297838BF2C2789E5319" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">716</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e4280-wk-Fact-009DE77DDEFE5858BF60FC1FCA7AC805" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">716</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e4374-wk-Fact-29CA70FBAD615B12AC7A848ADBC0BB98" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,544</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e4394-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,544</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of September 29, 2019 (unaudited)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e4417-wk-Fact-361127750FFD51228024441E120FC49E" name="us-gaap:CommonStockSharesIssued" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,897</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e4436-wk-Fact-1B9F1271C75A5BBE936DB6C7618E1AEF" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">342</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e4455-wk-Fact-EAEDCB98AF4358E4AF7F9E2B6D6906A8" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">594,427</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e4475-wk-Fact-D51C5A93D30E5E2AB6C513662BA8E19B" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">682,383</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span>(<ix:nonFraction id="d19090963e4494-wk-Fact-EE41EA7E8AA65D7AA5C159E287658004" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">37,934</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e4514-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259" name="us-gaap:StockholdersEquity" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,239,218</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="23"></td></tr><tr><td style="width:30%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:7%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Common Stock</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Additional</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Paid-in Capital</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Retained Earnings</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Comprehensive</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Loss</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shareholders&#8217;</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Equity</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Par&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of December 31, 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4819-wk-Fact-B9381149794751C4B8CFFCBEAB7D2F45" name="us-gaap:CommonStockSharesIssued" contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">173,507</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4838-wk-Fact-6F7A972528AA57039073D799FB8832B9" name="us-gaap:StockholdersEquity" contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">347</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4857-wk-Fact-7B87BC83A1CF5F2291AE3C7FF68B44CC" name="us-gaap:StockholdersEquity" contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">461,338</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4877-wk-Fact-14419D5412A358369C3057190A461DAC" name="us-gaap:StockholdersEquity" contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">668,587</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e4896-wk-Fact-C74EC778430A5D798D2AE6301F09198C" name="us-gaap:StockholdersEquity" contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">34,599</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4916-wk-Fact-9CF22FE646715634BB7A47C004A7B4A8" name="us-gaap:StockholdersEquity" contextRef="FI2017Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,095,673</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4932-wk-Fact-6E2219D8A0FD5F0698DF23ABB537A9DF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,434</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4946-wk-Fact-00865868E8135290BF2E0139E0601DBA" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e4965-wk-Fact-18FF915BB9B955ACBBA242FA36910BE5" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,879</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e5023-wk-Fact-B6EC282902BF551284031B7FA3AB4615" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,882</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Repurchase of common stock</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5044-wk-Fact-2E876A86836E5DAD9D7A900682279277" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">2,750</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5059-wk-Fact-75630E09F0BF563894F7B1A7873AAFB7" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5099-wk-Fact-B8FB10FCFC41518EA716EC3FD8E63843" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">142,257</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5138-wk-Fact-EAD40C86398F5E80B18F755EBEC00C5C" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">142,262</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e5193-wk-Fact-FCD57C2632105CBEB82312B33961CF47" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,339</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e5251-wk-Fact-B0C2AEA44A285B518768FD8D17C796E6" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,339</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Payment of dividends</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5325-wk-Fact-EC5D6B57A38B5F45B9F47300B8E0AB92" name="us-gaap:DividendsCash" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">23,283</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5364-wk-Fact-383BB61BDEBD5FADBBE6013456A48ACF" name="us-gaap:DividendsCash" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">23,283</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Adjustment as a result of the adoption of ASU 2016-06 "Income Taxes - Intra-Entity Transfers Other than Inventory"</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5439-wk-Fact-37CD0ED2B3A45320931ADF254C0C31C7" name="us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" contextRef="I2018Q1Jan1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,961</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5478-wk-Fact-B0EDCA603BF458E09FDB910C21672587" name="us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" contextRef="I2018Q1Jan1" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,961</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net income</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e5553-wk-Fact-8E79CD3B2CCF5C19843B30B0A65EEE06" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,849</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span><ix:nonFraction id="d19090963e5591-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933" name="us-gaap:NetIncomeLoss" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">173,849</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5684-wk-Fact-80DB6A50FE335582BE84D5581219684B" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">180</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5704-wk-Fact-565562FE14635ACAAAFF495CAC42AA7F" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">180</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5798-wk-Fact-18041AE3C9985F458C5AF803FF4A1BA2" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5818-wk-Fact-876534E26FDC51B4A6825488111446B7" name="us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5913-wk-Fact-3131B5D7F3E4592E87DE2CA98F0666D6" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,078</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><span>(<ix:nonFraction id="d19090963e5933-wk-Fact-6B5D079486615E1693538B3678C93E20" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">5,078</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">Balance as of September 30, 2018 (unaudited)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e5955-wk-Fact-429BDE86206A554B908AE721D10C0C67" name="us-gaap:CommonStockSharesIssued" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,191</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e5974-wk-Fact-9D2B203975EB577194176C79E0450FBA" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">345</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e5993-wk-Fact-119A360821335DE5A3101D5C9D8AE97F" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">518,556</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e6013-wk-Fact-75A28677531055B2B8C188E328E58D13" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">670,935</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span>(<ix:nonFraction id="d19090963e6032-wk-Fact-A5021CB88B1655F6972B77968811458E" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">40,392</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><span><ix:nonFraction id="d19090963e6052-wk-Fact-B0FD9D84F8B456F9B2D8138F953EDA25" name="us-gaap:StockholdersEquity" contextRef="FI2018Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,149,444</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">8</span></div></div><hr style="page-break-after:always"></hr><div><a id="s84E198A9C0645551A04861B67A0BC6DF"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:12pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</span><span style="font-family:Arial;font-size:12pt;font-weight:bold;"> </span></div><div><a id="s47AC698B67BD5FD48092D7E2F5B87E22"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 1: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="TextSelection-A1F1ACB7CE56524CA087089D42414536-0-wk-Fact-2F3AE1F9AAA455B6A87767A5C9D678F7" continuedAt="TextSelection-A1F1ACB7CE56524CA087089D42414536-1" escape="true">Summary of Significant Accounting Policies</ix:nonNumeric></span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:LesseeLeasesPolicyTextBlock" id="TextSelection-DB1252D775EF557D8BFC6BC9EB407FF4-0-wk-Fact-58E41006E913525590322C8DFF36A696" continuedAt="TextSelection-DB1252D775EF557D8BFC6BC9EB407FF4-1" escape="true"><ix:continuation id="TextSelection-A1F1ACB7CE56524CA087089D42414536-1" continuedAt="TextSelection-A1F1ACB7CE56524CA087089D42414536-2"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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).  As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q.  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 </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#8217;s financial position as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Leases</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration.  The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less.  In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term.  When none of the criteria above are met, the Company classifies the lease as an operating lease. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet.  The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company.  Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate.  The Company&#8217;s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:continuation></ix:nonNumeric><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">9</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><ix:continuation id="TextSelection-DB1252D775EF557D8BFC6BC9EB407FF4-1"><ix:continuation id="TextSelection-A1F1ACB7CE56524CA087089D42414536-2"><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period.  The lease liability is reduced by the cash payment less the interest each period.</span></div></ix:continuation></ix:continuation><div><a id="s10117F3DE943531092DAC86D6DB303AB"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 2: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" id="TextSelection-A6BF6ABBDC36553E826FF317D309CEAC-0-wk-Fact-9C3960A36A085956B2B601BCB310CAF8" continuedAt="TextSelection-A6BF6ABBDC36553E826FF317D309CEAC-1" escape="true">N<ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="TextSelection-68C0D88A552E58A4A4AA582238FC69A7-0-wk-Fact-B59EFDF82278558CA1EF732F3316B65A" continuedAt="TextSelection-68C0D88A552E58A4A4AA582238FC69A7-1" escape="true">ew Pronouncements</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="TextSelection-68C0D88A552E58A4A4AA582238FC69A7-1"><ix:continuation id="TextSelection-A6BF6ABBDC36553E826FF317D309CEAC-1"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.  As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures.  Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium).  The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract.  The amendments  in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.  Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense.  Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement.  In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element.  The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted.  Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.</span></div></ix:continuation></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">10</span></div></div><hr style="page-break-after:always"></hr><div><a id="s0CB9A58A19C352D4B85532FCEB812D3C"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 3: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:FairValueDisclosuresTextBlock" id="TextSelection-3669239BA4875A139476D7A3B03758DC-0-wk-Fact-E287DEA3F6D2583380D6748C4E63FAF8" continuedAt="TextSelection-3669239BA4875A139476D7A3B03758DC-1" escape="true">Fair Value Measurements</ix:nonNumeric></span></div><ix:continuation id="TextSelection-3669239BA4875A139476D7A3B03758DC-1"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" id="TextSelection-F6FEC6DECE975C86B7E29D47CBF8AADC-0-wk-Fact-EB71486E284F5C098FAE5638A31F4B04" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:50%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><br/>Unobservable<br/>Inputs                                                                                                                                                                             (Level 3)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e541-wk-Fact-BCE82FAEFD23511BB5826126C282B07A" name="us-gaap:MoneyMarketFundsAtCarryingValue" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,081</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e560-wk-Fact-833B42C034BC552FB3E5DBF4452F1A93" name="us-gaap:MoneyMarketFundsAtCarryingValue" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e614-wk-Fact-DFA7DD16947D593BA87F333B855D4EE7" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">362,069</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e673-wk-Fact-F3A67F0B3AA15245A26B64AC552FCA53" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">255,207</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e732-wk-Fact-010DDB410D2C5510812C40DDC605F058" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">146,392</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e791-wk-Fact-3E4B80CA40B85790909778F65B94E005" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">22,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e850-wk-Fact-C78A8CD7760353D3A15D73C86A225453" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e909-wk-Fact-D94CBA0B978F5701BDD56083AC18FEE2" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,840</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e968-wk-Fact-BB97CD933FE65AAEA3DCBC6EF3B70447" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e1090-wk-Fact-50896265B03C59A896729F7A144A0860" name="us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">70</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e1168-wk-Fact-25A79DCC661759A48A4F65D6F68FCC64" name="us-gaap:BusinessCombinationContingentConsiderationLiability" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,153</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon 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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" id="TextSelection-F27F6AB7B68F55708E1FA5AE7BC5927F-0-wk-Fact-D1826A93E15054ADB0C51A803800904B" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:85%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e1248-wk-Fact-29964EE8AD4355819934887C46836FBD" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" contextRef="FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,554</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19092343e1263-wk-Fact-37B44BB306C25636BEEEB656331E79E9" name="us-gaap:LiabilitiesFairValueAdjustment" contextRef="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">1,646</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092343e1284-wk-Fact-DE7D82CF20905159B249CEBBE5716F74" name="us-gaap:LiabilitiesFairValueAdjustment" contextRef="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">245</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19092343e1309-wk-Fact-926E79232AD4550EB61717C042CAE31C" name="us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,153</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">11</span></div></div><hr style="page-break-after:always"></hr><div><a id="s92F847719C4255BAB23E368368B6C7A5"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 4: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" id="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-0-wk-Fact-8F9310FA47A0506482EAE5D0B53C54DA" continuedAt="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-1" escape="true">Cash, Cash Equivalents, and Investments</ix:nonNumeric></span></div><ix:continuation id="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-1" continuedAt="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-2"><ix:nonNumeric contextRef="FD2019Q3YTD" name="cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" id="TextSelection-E017A24EF8EE59BAA27643C84220602A-0-wk-Fact-1262F38F90DB5DDCB9B9A8FD1ADE1C04" escape="true"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e431-wk-Fact-F04B5B9AA0EC5688B1DE6C5D0EAF9DDD" name="us-gaap:Cash" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">105,620</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e450-wk-Fact-584E5C37FBA8539C95CDCD9DB394AE7A" name="us-gaap:Cash" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">104,655</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e465-wk-Fact-FC31DF4170495E86B6C295ADC59EF8E6" name="us-gaap:MoneyMarketFundsAtCarryingValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,081</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e484-wk-Fact-1241740DE17D5979A6136C0C92C8BBB2" name="us-gaap:MoneyMarketFundsAtCarryingValue" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,557</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e504-wk-Fact-05057433E1985A589A65CC28126A51F1" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">121,701</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e523-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108,212</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e543-wk-Fact-F8FB17316A6157ED858E89F763015295" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">105,454</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e562-wk-Fact-C290BC9EC98B524482B407C5CF5329ED" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">198,477</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e582-wk-Fact-744A699CF2FA5BFA983DC32B00714501" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">89,576</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e601-wk-Fact-998138082DAB506FA23474122909AE95" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">78,407</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e621-wk-Fact-BAB623C88AC5510086D031036C7AF125" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">87,209</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e640-wk-Fact-2BE2987F5A0056C889C6F6B31D13329C" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">137,871</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e660-wk-Fact-BE3F87046712559BA61A7241C06D7897" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e679-wk-Fact-FA62A5371C48550C9B38987F9C57C5C3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,101</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e699-wk-Fact-B682124E8FA95F7EA2B18FB94816968D" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,533</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e718-wk-Fact-16D6991D564E5A84A1BA197F8AFA609E" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,492</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e738-wk-Fact-EB38191BAF7C5A1099B62741E521CFC9" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">292,072</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e757-wk-Fact-EA47994E21595A318B82F5F13177AEB5" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">427,348</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e777-wk-Fact-969B03C4FE60A178F58BB21A35676909" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">256,615</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e796-wk-Fact-2BBA4993EA2C3624E402B21A37967294" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">32,760</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e817-wk-Fact-550365B5C75452E7AFA95A200B9B3BFB" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">167,998</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e836-wk-Fact-78FEE54329785C11A796CF07E08EE821" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">162,566</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e856-wk-Fact-4F6C8D0B5D565025BBCB648A24575AB9" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">56,816</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e875-wk-Fact-7B606060070C52FE9A6E1789BDD3C975" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">53,631</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e895-wk-Fact-020D3BC06A375691B9FC312293667510" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e914-wk-Fact-D31144988DFC5D56808F1B054F0FCCB3" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,316</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e934-wk-Fact-3513CC27330259708BDF5757F138279A" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e953-wk-Fact-A0ADB2B2747B5BD884CD253C9FDB6009" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,921</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e973-wk-Fact-8E246CD5BEF9577083EEDA22E3EFAB15" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e992-wk-Fact-590F88B300C35EA8B72F82993AE37E1E" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">845</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e1012-wk-Fact-0E2F4EFC17F755AFA4C4D6E63AD8D750" name="us-gaap:LongTermInvestments" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">504,641</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1031-wk-Fact-BBE7C641A3155E8F99B6D8EB4D02A6F5" name="us-gaap:LongTermInvestments" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">262,039</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e1056-wk-Fact-9A464F7D505153D5902A7604498EA442" name="cgnx:CashCashEquivalentsShortTermAndLongTermInvestments" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">918,414</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1075-wk-Fact-CF122E8102B85E9E97526395488FABCD" name="cgnx:CashCashEquivalentsShortTermAndLongTermInvestments" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">797,599</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" id="TextSelection-F81FF532CF7F52A19B523C0791E40C3E-0-wk-Fact-5CB2363F50BF5D9DB5D8F3250FFA6D70" escape="true"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:44%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br/>Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Gains</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1309-wk-Fact-AD4DEDBB071F533F9BC0917264010F42" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">105,254</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1328-wk-Fact-43F13877F4AB5A1A99EEB54D9AB79B0E" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">212</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1347-wk-Fact-2BD8148B62A053248804023446F6D004" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1368-wk-Fact-70BD5870CA5356CF9FB109719ECC35EF" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">105,454</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1383-wk-Fact-460C1C169F2C50D6BBA43FCC92EA1A8C" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">89,226</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1402-wk-Fact-45EEEC7410115C24A743D0095D1CE277" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">359</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1421-wk-Fact-01C2E27D03015A1BB3DEC6E2B1D85CD0" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1442-wk-Fact-372AA5B3071F5B75BAC8CCD615F5883C" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">89,576</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1462-wk-Fact-BE915C2213605327A7AA783ED75325BC" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">86,990</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1481-wk-Fact-3600A6F5A5EC58D198E00C343E31D1DB" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">222</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1500-wk-Fact-91E23C9D8A4155B998E3FE72362D372C" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1521-wk-Fact-1705A0AB9BA055908E7E9FADE0735375" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">87,209</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1541-wk-Fact-2893BBC616695DB7A051B871D23488AF" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,286</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1560-wk-Fact-A66932CCF6FD5794AC4A35E961D9CAB8" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">14</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1579-wk-Fact-8B82A1A1337D5475A6B178F7F798E15B" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1599-wk-Fact-5B9FADD272AE53BDB741C996077B037A" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1619-wk-Fact-FA6B5DB687EA5EAF8908E5577428C419" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1638-wk-Fact-0A6A8B363D3953C8AD2D4A5436CC0C9F" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1657-wk-Fact-F473035826795FD8992DEA503D854795" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1678-wk-Fact-137880FD66DF55429FC3DF3EEFF23328" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,533</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1779-wk-Fact-395B6D7AB85A56F0A1A54C2C504614BF" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">255,441</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1798-wk-Fact-CF79EA7931045AA0ADBAB51906E02D62" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,253</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1817-wk-Fact-FAB31E76411B570DBE7B1502390096AA" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">79</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1838-wk-Fact-D3916A81341C54BFB4B6A8FC6FFFC06D" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">256,615</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1858-wk-Fact-D277ED451D6DF333BB33B21D4A627C8D" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">167,464</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1877-wk-Fact-D20135C176AE99C319CCB21D4E00BCC6" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">584</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1896-wk-Fact-AE78A453299BDD2248E6B21D5192A46A" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">50</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1917-wk-Fact-126CFBD7C97B0615B19FB21D54D94C30" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">167,998</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1937-wk-Fact-40A1F25DFFBF5B54AE029B4FDCC2C263" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">56,636</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1956-wk-Fact-C21CA9ACCA2F5DBE940C827547D6AD78" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">195</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e1975-wk-Fact-CCC2473E6A055144B80F9ABA6BE3C2E9" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e1996-wk-Fact-E4CC320EF7EE5C9996EA7BBA5345C004" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">56,816</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2017-wk-Fact-71EA2838BC21569BA31F3AA5037A2201" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15,969</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2036-wk-Fact-900A7B7AD155592A8948B8C17AAEE934" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">43</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2055-wk-Fact-11C43CC4F2D95C6DAE4121072D8336F6" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2076-wk-Fact-69EE9D2C19A053E9962BA4FC451EEC27" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2096-wk-Fact-79A3662BDE715F44B6A7C95D7E4F266A" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,930</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2115-wk-Fact-D1D5747FF57A56A694ECB0BFBF637C9F" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2134-wk-Fact-31518CF0EAED5A03814FCF8A1039A8CC" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2155-wk-Fact-2B195D60FCBC5AFA98698E4538FB92DF" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2175-wk-Fact-B6C2C7AE53115174A181E291FD4D68E4" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2194-wk-Fact-FAE54C4AE1AB53FA8CF41AA9E1F6BD02" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2213-wk-Fact-DE3E285FA0B85FF19B0D988B9403EB98" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2233-wk-Fact-BF700ABF3A09598089F0110FDE4AB280" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e2258-wk-Fact-2D9E2889BDBA57CC9C5AAB9D24FEBBC0" name="us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">794,031</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e2277-wk-Fact-34458C2ABE165B558F5E0214A53191CB" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,889</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19099207e2296-wk-Fact-D41AF74CA5405AB3BDB41C96B0F81C40" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">207</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e2317-wk-Fact-B623221EF84F5FEAA5CC19B04BFB4380" name="us-gaap:AvailableForSaleSecurities" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">796,713</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">12</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-2"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" id="TextSelection-81D37186A8F958D98B06159C7D534264-0-wk-Fact-1CCDA8DCA8E2510687761ECCC2F5EF12" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"></td></tr><tr><td style="width:29%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2766-wk-Fact-A5ECBE933DF95ACF4FE5B21F8381C2AB" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108,863</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2785-wk-Fact-A11411E117DA367B2A0FB21F85DDD8CF" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">91</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2805-wk-Fact-BF515CC0F715148FD4FBB21F8899D0EC" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2825-wk-Fact-AE3843C54575E42167F7B21F8AB1F770" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2844-wk-Fact-CFF5F75A13904EAE758CB21F8D4818AC" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108,863</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2864-wk-Fact-48C19EAB4C4842EE71C6B21F8F6F3E0B" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">91</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2880-wk-Fact-178984C7A73750749B46BD9B6E73F574" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">23,263</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2899-wk-Fact-9165E3A747395F7B95D869E2E2760425" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">17</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2919-wk-Fact-F2CFEF0A9AD0561E84FBDDC5561C42AB" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">20,713</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2939-wk-Fact-6413D5070C5A5926A4F8BD664CC7D830" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">36</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e2959-wk-Fact-320DF71C2F755D979B74948E7C9A7339" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">43,976</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e2978-wk-Fact-97D0ADFA40B950418A8EF629F5196A7E" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">53</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3000-wk-Fact-82F023751DF751718C42A36FFE9A8E75" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,149</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3019-wk-Fact-B45CB9A13AD75225A80265612C1C5F67" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">15</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3039-wk-Fact-F2D92C8C484C555FB9F4FF6B02B8F76F" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,093</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3059-wk-Fact-A42AD043773B597AA7C8091FA23F664D" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3079-wk-Fact-7B2470D5B4595FF8989802942955295C" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19,242</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3098-wk-Fact-D47BCCDD3E5C5D99AE2B13574A21E2C4" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">24</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3120-wk-Fact-6F96D4B0C42E41A420B0B2204A130165" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,558</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3139-wk-Fact-2C5AF5C63A756BD4D77BB2204C971313" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3198-wk-Fact-326D9EDF13BD153A6A93B2205365BB04" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,558</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3217-wk-Fact-096741BA51E897FE5712B22055AE430D" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3239-wk-Fact-099D789F8E965A0BB031722F7AA2B0D0" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3258-wk-Fact-F9004AA141F55AF0826FAC2558587C1C" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3278-wk-Fact-BC889A423F1A593083AD8E7F0D98D1AC" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3298-wk-Fact-09F3BD4BE9375AFE92C9BED9B7EEA4D1" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3317-wk-Fact-5159E7FB7E2256F0A2D77621B83127D4" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3336-wk-Fact-7B1D33B2386259438626B1843DB42923" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3358-wk-Fact-B25D62513D285F3F985A1F902F3C8097" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3377-wk-Fact-4A71CA1AC2655469A1598E1A11E85DD6" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3396-wk-Fact-4643FB31CD21525DBF0C9DE7CDBFCB41" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">343</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3416-wk-Fact-2711A9B041BD53B5ADEC4063D622F59A" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3436-wk-Fact-BEE874FF54BD577FAD67AD3AC4BFD9C5" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">343</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099207e3455-wk-Fact-F01B48E5C2C250F1BF0663111715C78F" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e3482-wk-Fact-62710CA950DD5B81BAD1BC41A2976A02" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">160,738</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19099207e3500-wk-Fact-D43E8C3E665E512191412A83433131E0" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">160</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e3519-wk-Fact-F0E844655C6A5CC2A3D2787CE7CB29CC" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">29,149</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19099207e3538-wk-Fact-E1A4D1F4360B5F89A4824934E0C90BB7" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">47</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e3557-wk-Fact-7C04C13742715563B87E9110DF77EB4F" name="us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">189,887</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19099207e3576-wk-Fact-D41AF74CA5405AB3BDB41C96B0F81C40" name="us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">207</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3601-wk-Fact-A3765C80E9985581B2735D681A417B03" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedGains" contextRef="FD2019Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">361,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3605-wk-Fact-9EC866A10EAB5293929D9C98743E38B1" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">67,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3613-wk-Fact-79953DCFAD18595B82F80C751C153B8F" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedGains" contextRef="FD2018Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">283,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3617-wk-Fact-44E33C51CA305F76ACAA484D0C3CEE5A" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses" contextRef="FD2018Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">17,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.  The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3626-wk-Fact-E0C2DBC706B459BA95FE321CF8E19ADC" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedGains" contextRef="FD2019Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">818,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3630-wk-Fact-39892240B2945F229EC29FC6C1B14827" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses" contextRef="FD2019Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">103,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3638-wk-Fact-4C9C1AB6F227585298F2601BA20837A9" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedGains" contextRef="FD2018Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">646,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19099207e3642-wk-Fact-49FB0270EC5152F2BF34E98C7B1EB217" name="us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses" contextRef="FD2018Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">111,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statements of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as accumulated other comprehensive loss.</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock" id="TextSelection-174AC0EE0D8A5926BFF184C414C0EA20-0-wk-Fact-92B6C143C3905ACA9653BE71F9711AF1" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"></td></tr><tr><td style="width:35%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:8%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3837-wk-Fact-C302571B247D53BD9E477B5DBAE5587D" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">105,454</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3856-wk-Fact-6C5CF698FAA35F358AC16B4721CEC577" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">188,398</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3875-wk-Fact-88BB276143465D4590F06B979B6ECF91" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">68,217</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3895-wk-Fact-75343CB246CF5FE38C626F1A126F33EC" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3914-wk-Fact-54D80A7048815123BB9650828E0832A1" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3934-wk-Fact-5D17D0B9019B5F109273C2749A387DE1" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">362,069</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3949-wk-Fact-3097D00FF84355F489864B795068FB31" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">87,209</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3968-wk-Fact-9878767E910053ADA296B69B601B7649" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">115,941</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e3987-wk-Fact-78DEDF13FD6C548786BFE0EC60F8AC0A" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">47,842</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4007-wk-Fact-3542EB1FBD715B7A9958BFB653EA4C8A" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,348</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4026-wk-Fact-6CEC44BE46A953BCA57F54FD3807A71D" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,867</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4045-wk-Fact-CFFF119E00875AEAA12CE51EE2DABF52" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">255,207</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4066-wk-Fact-6C264573324C50CFB9CB524A61186B1D" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">89,576</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4085-wk-Fact-D4F0081460D552DC8D7643ECAF08937C" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">21,425</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4104-wk-Fact-6427FAE211C858929D68801D074C2E70" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">26,142</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4124-wk-Fact-9F49B74CC3CC5D58BD74C1DF222C1A67" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,633</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4143-wk-Fact-FB21BDFB55FA59FDB8EC68E8EBFA4F2C" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,616</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4162-wk-Fact-208AEB17E4E85350B70D4046FB95ED92" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">146,392</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4183-wk-Fact-3BE9A23FA0E051E7BE561731A5E11147" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4202-wk-Fact-2C52E728C3F0526BBE5913DAD1DB116C" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">16,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4221-wk-Fact-587A13C3B8C65D7CB6AF13ECCD5E9FBB" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4241-wk-Fact-D8502343ECF95199B8116BA3EE3EC6C0" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4260-wk-Fact-6F937E4B58765440AB8806553B600062" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4279-wk-Fact-E6406A18D3885F1E89213647CB6268F8" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">22,300</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4300-wk-Fact-9B0C8847085153529D7FC790FDA8AA34" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4319-wk-Fact-8C1976C399705624A4943A06E8EA5DB9" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4338-wk-Fact-2F43202C02B7574B9CCCF065E19DB894" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4358-wk-Fact-0C74409DD3805AC1BA958E1437EB8C19" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4377-wk-Fact-C66AC8A3B4545703802A732F7CCB65A4" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4396-wk-Fact-6453EDB71B8E5FB1BC7CF25136D04AC3" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,905</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4417-wk-Fact-A5507D1A9ED25DFAB7A617BDB69FF46C" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,533</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4436-wk-Fact-1ED20E68D64C5900BB413EB2D0E0E4A7" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4455-wk-Fact-1309A14EA1935C2E88B132680B4B3A02" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4475-wk-Fact-1D2DDCCF71E851A688DCA1EAD9648608" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4494-wk-Fact-5FAC6293338158F3BB4C16EB453C9EA4" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099207e4513-wk-Fact-C005BE7D596D5F678D01E4604C8C866C" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,840</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4539-wk-Fact-2F54245C3A485E758A54CB9AA038E37C" name="us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">292,072</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4557-wk-Fact-7496897747205EAC8F18D700BBB2FE1D" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">341,764</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4575-wk-Fact-F1A184A251605C9FAEB4A73F171722D1" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">149,413</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4594-wk-Fact-305278B7DFF557C0BBF26D04B8A02FE8" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,981</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4612-wk-Fact-004B3D10363F5CE5B56080CA2B16C5E3" name="cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,483</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099207e4631-wk-Fact-7503CCFFB8D35D38BB8D3F3A083D3D33" name="us-gaap:AvailableForSaleSecuritiesDebtSecurities" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">796,713</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><a id="s7E054B13725C5FC2855778FC748ED46E"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 5: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:InventoryDisclosureTextBlock" id="TextSelection-568D443C6FB55E778629E12D5E6CDCF3-0-wk-Fact-9FDA06FA3FCA5849BDC44953A8AECC32" continuedAt="TextSelection-568D443C6FB55E778629E12D5E6CDCF3-1" escape="true">Inventories</ix:nonNumeric></span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="TextSelection-5E80F21177E7590BA26BA5A6AE78F196-0-wk-Fact-EB0A26EB643550C9AD9093A4DFD85A9F" escape="true"><ix:continuation id="TextSelection-568D443C6FB55E778629E12D5E6CDCF3-1"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:63%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19092646e431-wk-Fact-97B657EA56835A93B392D5947328AF23" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">30,283</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092646e450-wk-Fact-A17566C6B7875167856B5EEB6B054F10" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">42,738</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Work-in-process</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19092646e465-wk-Fact-976F7F1B81C1580E88EED8FE3AB93CB2" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,848</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092646e484-wk-Fact-3463BE42155353758F7653F47B29B3E2" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,435</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19092646e504-wk-Fact-AD315C3C41CD529881BCAA53DC390913" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">30,133</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092646e523-wk-Fact-6045E83DE8575CD5A2C8DB9578C148E0" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">37,109</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19092646e548-wk-Fact-A30014C259F05615B105E26FF5ECC64E" name="us-gaap:InventoryNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">65,264</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19092646e567-wk-Fact-857C72E7F06850F0AE2F72050E98B439" name="us-gaap:InventoryNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">83,282</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:continuation></ix:nonNumeric><div><a id="s098C926DE4FF5BB3BCB4CB5F2E06CC37"></a></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 6:&#160; <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:LesseeOperatingLeasesTextBlock" id="TextSelection-85B91D4A11895749AEAD5439A3A58E24-0-wk-Fact-71CA09CBD63252FAB3CB7146594C7790" continuedAt="TextSelection-85B91D4A11895749AEAD5439A3A58E24-1" escape="true">Leases</ix:nonNumeric></span></div><ix:continuation id="TextSelection-85B91D4A11895749AEAD5439A3A58E24-1" continuedAt="TextSelection-85B91D4A11895749AEAD5439A3A58E24-2"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842,  &#8220;Leases,&#8221; using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date.  Accordingly, the Company recorded lease assets </span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">13</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-85B91D4A11895749AEAD5439A3A58E24-2"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">of $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e351-wk-Fact-DE8D79171F5C52DAB129E2A60AE0C4CC" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="I2019Q1Jan01" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">17,522,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e355-wk-Fact-746FE7EA795A5463BBAAEFDD7E41D11D" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="I2019Q1Jan01" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">4,736,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, and non-current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e359-wk-Fact-5583C7C6D000512BB7C2A9F10FD2A0EC" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="I2019Q1Jan01" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">12,669,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> on its Consolidated Balance Sheet as of January 1, 2019.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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.  There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  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 the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total operating lease expense for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e384-wk-Fact-A7CB2C103E8C5E7E87958749C7119988" name="us-gaap:OperatingLeaseCost" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">1,749,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19093201e388-wk-Fact-176701A19921577385B99173533B6C86" name="us-gaap:OperatingLeaseCost" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">4,976,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total operating lease cash payments for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e396-wk-Fact-3423D42C6D9E5D01AD4118328A5C20B3" name="us-gaap:OperatingLeasePayments" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">1,708,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19093201e401-wk-Fact-DEB48864F6A05BD091F3E5A44E439AD8" name="us-gaap:OperatingLeasePayments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">4,778,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e405-wk-Fact-984314727D1356F2969E41B40E6F0064" name="us-gaap:LeaseCost" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">22,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19093201e409-wk-Fact-65D6BD64801156A2BF6D05DE29F1F9DD" name="us-gaap:LeaseCost" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">255,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively.</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="TextSelection-86051D23FFE9587B8C51A3877C8DF720-0-wk-Fact-11C7488E04D2568E8AC26019D734D2C8" escape="true"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:84%;"></td><td style="width:3%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e478-wk-Fact-5F339082D3A550AFB631B8BC7C715BD9" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,650</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e498-wk-Fact-EB7E3D11AD885F7C881E1F5760773E8E" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,628</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e523-wk-Fact-76CC4F69D4FC5D60BF2DA4DF409F8347" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,314</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e548-wk-Fact-F45B10294BAE587494576A41FD7001EB" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,831</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e573-wk-Fact-2489036B45B85861B0ADDFABC6C32B0A" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,988</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e598-wk-Fact-E7D366D4BC12557CA9F11BCE87F2686A" name="cgnx:LesseeOperatingLeaseLiabilityPaymentsDueYearSix" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">831</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e623-wk-Fact-5214858E437D55A09FC130FB0FB83245" name="cgnx:LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">309</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19093201e653-wk-Fact-71D624300B475624AB26BA43BEB2A3B0" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">17,551</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The discounted present value of the future lease cash payments resulted in a lease liability of $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e664-wk-Fact-D9ECD0C37A095B5D9BF7047FDF8F4E2C" name="us-gaap:OperatingLeaseLiability" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">16,167,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average discount rate was </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e675-wk-Fact-7706A6783A38595898045FBCAD55E549" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="FI2019Q3" unitRef="number" decimals="1" scale="0" format="ixt:numdotdecimal">4.8</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">% for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  The weighted-average remaining lease term was </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19093201e683-wk-Fact-8DE125E676665B95888FD74E717B2A59" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" contextRef="FI2019Q3" format="ixt-sec:duryear">3.6</ix:nonNumeric> years</span></span><span style="font-family:Arial;font-size:10pt;"> for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022.  Rental income was </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19093201e698-wk-Fact-4E2FE2EDC3055175B048DE1861BFF201" name="us-gaap:OperatingLeaseLeaseIncome" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">76,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19093201e702-wk-Fact-E71898D02D8B5585AD52E907490C8CD5" name="us-gaap:OperatingLeaseLeaseIncome" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">77,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. Rental income was $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e714-wk-Fact-D4722E7242365CD29C088BAF7E719739" name="us-gaap:OperatingLeaseLeaseIncome" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">234,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e719-wk-Fact-FE5F60FC2DB45FB6A86370439C879568" name="us-gaap:OperatingLeaseLeaseIncome" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">236,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock" id="TextSelection-00F0B83F16675C7B98D95DEC4B15A169-0-wk-Fact-2E30F6A668525FE0B254512C8784AD24" escape="true"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:84%;"></td><td style="width:3%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e793-wk-Fact-67D8E627741455808644F3332A58C1A0" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">77</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e813-wk-Fact-47A65F7C7CF451A899D19BB3ADA8B2FD" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e838-wk-Fact-BA64ABE8D7125A0381AFD045FEEB8B69" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19093201e863-wk-Fact-E9A916FE5F475022BCFE595C72323F89" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">307</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19093201e893-wk-Fact-81B7C4E8CAAA5C44ACF5C819B938B254" name="us-gaap:LessorOperatingLeasePaymentsToBeReceived" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">998</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">14</span></div></div><hr style="page-break-after:always"></hr><div><a id="s347BF101C92D59F1974D3E8DB86B70B4"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 7:&#160; <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="TextSelection-C9BCC718234E5EEF902248E706450F1A-0-wk-Fact-D372218606815F3D98D11453DB11DF6A" continuedAt="TextSelection-C9BCC718234E5EEF902248E706450F1A-1" escape="true">Intangible Assets</ix:nonNumeric></span></div><ix:continuation id="TextSelection-C9BCC718234E5EEF902248E706450F1A-1"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="TextSelection-1FBA785E8BDE5B219AA33B2C9A6E5CE5-0-wk-Fact-1D2B6B2D63E05E14B20DEAD61D64BC6E" escape="true"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:53%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e464-wk-Fact-070030F4247A556CA9733341C4D3FEEE" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">38,060</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e483-wk-Fact-6AC4A1AAAC715C74823503650CB90E59" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">38,060</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e502-wk-Fact-3DE3CAA9C49E5A959A5BC0CF65E0F259" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e518-wk-Fact-D444A8ADDCFA5058B292418E3647547C" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">13,687</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e537-wk-Fact-2020F76D593854BC8A56CAE0CCBD1215" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,261</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e556-wk-Fact-052D37276A8A5C46AB6C1D5C3647D3A1" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,426</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e577-wk-Fact-9D4B60574E495C9B9CE063EE2F7FE296" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,607</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e596-wk-Fact-4171C2F8A5505E298C106894A93653AC" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,101</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e615-wk-Fact-7FAE594B51505F72B3FA7C775ADF59E7" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,506</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e636-wk-Fact-BAFC70F4FEF05DA281D2F408B7B3DD98" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">370</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e655-wk-Fact-3A4A1D865E9C5593B9FE2E69CA386658" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">308</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e674-wk-Fact-9918115C60EA52D387006A32BDE3AA2E" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">62</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e700-wk-Fact-1429797A3032512F879EDA805A44A328" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">60,724</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e719-wk-Fact-690EA0663834509CB974699D2A02F277" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">52,730</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e738-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,994</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e898-wk-Fact-96A9BB26F87D53A3ADEA88E4003F30C0" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">38,060</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e917-wk-Fact-DA0F87A73562558E90738677BFE5218F" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">38,060</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e936-wk-Fact-14CD20C15C025B97B20860B02D6A14EF" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e952-wk-Fact-8DBD40FB7FAB50E39BD3D1BA716C99CA" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">13,687</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e971-wk-Fact-E32B7D008B7855238A84D40D12F19B59" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,619</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e990-wk-Fact-1DEE11015AFC55CD867E1A3D8DF0309B" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,068</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1011-wk-Fact-43C17D1A8AA1581581649F34D92E70D2" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">8,607</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1030-wk-Fact-49EC5701C07B5F97BF894B39FCB86392" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,716</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1049-wk-Fact-007F363BAF595D828798AFBD1BE12C64" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,891</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1071-wk-Fact-E4BCF49D9D2252FB82B382E4630584A7" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">370</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1090-wk-Fact-54FFF62B55485D5FA207953C782118FA" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">216</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1109-wk-Fact-C6073F7D5F4758D0B42940ABA6F6D454" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">154</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1135-wk-Fact-F94C96087F085497B9F2E41D7FAD6A28" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">60,724</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1154-wk-Fact-17A2D232E25F5FCD963143E57461D16C" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">50,611</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1173-wk-Fact-32E11519B899549AA2BDA26070371C13" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,113</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="TextSelection-94B966E8001858919DC4FF9E7BE843C1-0-wk-Fact-3412417FF0BD5F04A3545F24B9A8678C" escape="true"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, estimated future amortization expense related to intangible assets is as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1251-wk-Fact-C751B612951451089926A68646D5BED3" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">582</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1271-wk-Fact-6724A965270C5024AF7C9C2B95063ABF" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,185</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1296-wk-Fact-0A975465CBC45482942926820B4FFA0C" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,017</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1321-wk-Fact-E6DD53F4847A557493A81F08762CC2E6" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,691</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1346-wk-Fact-0417A8D4DCBB5B47AA37D78CDB1864D5" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">989</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1371-wk-Fact-D321EA729CF35E989162B2FB85F8CC0F" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">422</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19094456e1396-wk-Fact-3033B6BCF3F35AC79050126725AA13FC" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">108</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19094456e1426-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">7,994</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><a id="sD9118834C0085BFBA32CCF83AD6BF234"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 8: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="TextSelection-F773DABDF85D566EBFD1A06F3E38E87A-0-wk-Fact-90F4BAABFD355E85BE5FC623164B6048" continuedAt="TextSelection-F773DABDF85D566EBFD1A06F3E38E87A-1" escape="true">Warranty Obligations</ix:nonNumeric></span></div><ix:continuation id="TextSelection-F773DABDF85D566EBFD1A06F3E38E87A-1"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 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="FD2019Q3YTD" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="TextSelection-ACFC2F67E5165FE79EC57A31F754DE64-0-wk-Fact-A7D6B89C836054F6BAB6D5261073065D" escape="true"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:82%;"></td><td style="width:1%;"></td><td style="width:16%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099421e389-wk-Fact-2A0B4285CEF55A0EB7F8F47A2FB50B89" name="us-gaap:ProductWarrantyAccrual" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,743</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19099421e404-wk-Fact-72F5B25BC87B589FA1A281AF5D9C8707" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,301</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19099421e424-wk-Fact-50A5E27B4E9655BD8FE88D0CA04677F1" name="us-gaap:ProductWarrantyAccrualPayments" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,770</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19099421e450-wk-Fact-4BAE439B308F5CEA9D02B144856951B5" name="us-gaap:ProductWarrantyAccrual" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,274</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><a id="sC187FD3CCD7F59C98C1B9863D13932DB"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 9: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="TextSelection-E53542319BEF52F293D300B40CD0A2D8-0-wk-Fact-46B111F9E3EA5584BE325F99A82ADD2E" continuedAt="TextSelection-E53542319BEF52F293D300B40CD0A2D8-1" escape="true">Derivative Instruments</ix:nonNumeric></span></div><ix:continuation id="TextSelection-E53542319BEF52F293D300B40CD0A2D8-1" continuedAt="TextSelection-E53542319BEF52F293D300B40CD0A2D8-2"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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.  Currently, the Company enters into economic hedges to manage this risk.  The economic hedges utilize foreign currency forward contracts with maturities of up to </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19103597e354-wk-Fact-568DBE5C196555F89ACF7E6063AF4DCB" name="us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1" contextRef="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" format="ixt-sec:durday">45</ix:nonNumeric></span></span><span style="font-family:Arial;font-size:10pt;"> days to manage the exposure </span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">15</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-E53542319BEF52F293D300B40CD0A2D8-2" continuedAt="TextSelection-E53542319BEF52F293D300B40CD0A2D8-3"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="FD2019Q3YTD" name="cgnx:OutstandingForwardContractsTableTextBlock" id="TextSelection-A1061E3D2D98558FB951C169EA378DFE-0-wk-Fact-F0D6C549B7AC5098B320E1AD7116342E" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"></td></tr><tr><td style="width:47%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br/>Equivalent</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">USD<br/>Equivalent</span></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Euro</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e617-wk-Fact-84BA53C91A085192932878B5471333C0" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="eur" decimals="-3" scale="3" format="ixt:numdotdecimal">18,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e636-wk-Fact-EA187566CD2F54909DF22808BC9A4ADA" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19,697</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e650-wk-Fact-304DBD7096985E43B0CBC4C28040998C" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="eur" decimals="-3" scale="3" format="ixt:numdotdecimal">23,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e670-wk-Fact-4EFDF07A207256F69E3C3BD538C243EC" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">26,330</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Japanese Yen</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e685-wk-Fact-56D0D919109F58649A9528F89B961267" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">600,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e699-wk-Fact-4D1B1F900F7F55FBBD35283165A06BFC" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,563</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e718-wk-Fact-2B122819A00D5AFE9E0530F54D060368" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">380,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e733-wk-Fact-FC711E534DAB50158AC8803B0204A818" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,459</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Mexican Peso</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e753-wk-Fact-3F929BBF0BD1E8236DE2EEE776F59F2D" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">90,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e767-wk-Fact-957570FD403BDAC48B0CAC29980776A4" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">4,560</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e786-wk-Fact-D55468871A00EB471DFFAC299AC762BF" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e801-wk-Fact-4D4D1B16724B8BA3A1B7AC299D92E32D" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">British Pound</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e821-wk-Fact-CCFD735A842BB568CC89AC2686B513FF" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">2,550</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e835-wk-Fact-CA0C3D9FB0B54F81D371AC26892E058F" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,149</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e854-wk-Fact-B543FEED4E228412E9DFAC268BF5B755" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">2,500</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e869-wk-Fact-9BB3F8B0976C054DDFCBAC268F5460A5" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,204</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Korean Won</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e889-wk-Fact-66398623AC212B43D8DEAC28A4FF4C5D" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_KRW" decimals="-3" scale="3" format="ixt:numdotdecimal">3,660,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e903-wk-Fact-F55079DBD4DC7BBC04D7AC28A731404E" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,053</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e922-wk-Fact-AC81510421046C816886AC28AA158705" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_KRW" decimals="-3" scale="3" format="ixt:numdotdecimal">3,125,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e937-wk-Fact-AA8E50D6B612F18EB14FAC28ACD2DA52" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,808</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Hungarian Forint</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e957-wk-Fact-BC2C608AB33157D69E266709CC643D77" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">840,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e971-wk-Fact-6DD06784374857E68399B91886B0AE6B" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,739</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e990-wk-Fact-FEB7B10FF7EC5A4980BFC84FAF98B16E" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="iso4217_JPY" decimals="-3" scale="3" format="ixt:numdotdecimal">750,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1005-wk-Fact-897A75E4C96D51C4B076170C26723CA2" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">2,685</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1025-wk-Fact-5D9489706B6A5B59A4484AFE248D2E70" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="twd" decimals="-3" scale="3" format="ixt:numdotdecimal">45,700</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1039-wk-Fact-6B74A603A6A856AE9CA41352A96322B2" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,478</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1058-wk-Fact-FD79C945056851239631999861D8CCC0" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="twd" decimals="-3" scale="3" format="ixt:numdotdecimal">55,000</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1073-wk-Fact-943073021FCF50C1A5B23947D37062A1" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,807</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Canadian Dollar</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1093-wk-Fact-5F6D582AA2C75AA0BF04C6D5FC8F4C8A" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="cad" decimals="-3" scale="3" format="ixt:numdotdecimal">1,100</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1107-wk-Fact-212FF86867555DADA144929151AFFD0C" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">830</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1126-wk-Fact-61B261C09E335B99971BD86A611130C8" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="cad" decimals="-3" scale="3" format="ixt:numdotdecimal">990</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1141-wk-Fact-98F9279F6C095760B1FEC9C32531ED5D" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">726</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Singapore Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1162-wk-Fact-51213676FB3D50D89E4C13F65F4B42F4" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="sgd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1176-wk-Fact-BDA66108C5325517AE663DD40FBB0350" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1195-wk-Fact-A0258F7D8A6958509886F8659C524EB6" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="sgd" decimals="-3" scale="3" format="ixt:numdotdecimal">700</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1210-wk-Fact-34CA9B8A9B0F5BF8BBB63A3139FB5EAE" name="us-gaap:DerivativeAssetNotionalAmount" contextRef="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">514</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="TextSelection-D0D01C06F8D656EE9C0EFAD1A296FB64-0-wk-Fact-04FF830E737050C4B966AABEEBB66880" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"></td></tr><tr><td style="width:12%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1697-wk-Fact-6C83C8F690C85570B3780FDF5A991145" name="us-gaap:DerivativeAssets" contextRef="FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1716-wk-Fact-A10F64542EE953689B407A01F4F3864A" name="us-gaap:DerivativeAssets" contextRef="FI2018Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e1746-wk-Fact-BE4B145EBC565EDCBA6D898184434DA2" name="us-gaap:DerivativeLiabilities" contextRef="FI2019Q3_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">70</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e1765-wk-Fact-C21C07FD0A5053D0B5D8ED6942A72E4B" name="us-gaap:DerivativeLiabilities" contextRef="FI2018Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">106</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:OffsettingAssetsTableTextBlock" id="TextSelection-C9E617C28BDE538786454C5A504BFD7A-0-wk-Fact-82A94DA3822E57479D71E746DC4DDD9A" escape="true"><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"></td></tr><tr><td style="width:18%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:19%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2030-wk-Fact-0DF1E5DD48785B17A94121BAE725F3E2" name="us-gaap:DerivativeFairValueOfDerivativeAsset" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2049-wk-Fact-A43A350E6E90536CBCCC4F107048BBAD" name="us-gaap:DerivativeFairValueOfDerivativeAsset" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2079-wk-Fact-6590BD6E4E475FD299F5ACC113C9F2B3" name="us-gaap:DerivativeFairValueOfDerivativeLiability" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">70</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2098-wk-Fact-F9890465D4DC53A581DB79D6E3E1B595" name="us-gaap:DerivativeFairValueOfDerivativeLiability" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">106</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2118-wk-Fact-E5B11C5BBE2357F4B839666F4168788D" name="us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2137-wk-Fact-E73CFD3AFE6D50E5B0B20FA73B393940" name="us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2167-wk-Fact-EA06D1DF3BBA5829A8394C02049EBA88" name="us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2186-wk-Fact-3B90298F945159789CCB5E7150BB152A" name="us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of assets presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2216-wk-Fact-AF0751407E63548191E6998B6BDBD775" name="us-gaap:DerivativeAssets" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">19</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2235-wk-Fact-F7198FDE3EB355BCA608BABD632DC50E" name="us-gaap:DerivativeAssets" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2265-wk-Fact-F09FD9743DDC52718C9B279F91898114" name="us-gaap:DerivativeLiabilities" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">70</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2284-wk-Fact-95CC6E66CCDC5DF28697BBFABEEF3531" name="us-gaap:DerivativeLiabilities" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">106</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">16</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="TextSelection-41B05E37A87854B99DF5F991B36C8AB5-0-wk-Fact-878F6EA24403557C91A351E7797939C6" escape="true"><ix:continuation id="TextSelection-E53542319BEF52F293D300B40CD0A2D8-3"><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"></td></tr><tr><td style="width:21%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2640-wk-Fact-9CB71765495E5CCA8EE7A11C6D266FF9" name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">469</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19103597e2659-wk-Fact-AEE05F563E9D56CAB4E76E79CCE6D1AE" name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="FD2018Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">299</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19103597e2679-wk-Fact-BCC54D761D0D5E3DA0A43FCE1068408A" name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">535</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19103597e2698-wk-Fact-C2C6321E6E155881BCDA9418A31D8DF9" name="us-gaap:DerivativeGainLossOnDerivativeNet" contextRef="FD2018Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">366</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:continuation></ix:nonNumeric><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div><a id="sB9A22131D713522FB5E49E4AAEB0307B"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 10: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-0-wk-Fact-3B393CA708A95A96A66564BE2B53F545" continuedAt="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-1" escape="true">Revenue Recognition</ix:nonNumeric></span></div><ix:continuation id="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-1" continuedAt="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-2"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock" id="TextSelection-2D54D07C00A4577CA3A7BCEFAB4732EF-0-wk-Fact-1490D31276B75A49BC4A26A1DBD24317" escape="true"><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"></td></tr><tr><td style="width:36%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Americas</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e570-wk-Fact-17366C06DBA8543EBE27873DFB8B3284" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">65,253</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e589-wk-Fact-8944DEA65C2556748BB17379C3FBE012" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">57,020</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e609-wk-Fact-752C750EE1AF5820A75D81CE0653DFAF" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">208,909</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e628-wk-Fact-556240E7DDFB506EACD94CD1A20898E6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">187,991</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Europe</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e648-wk-Fact-A8CC86CCDAA45A90BB2422DBA8475E72" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">64,209</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e667-wk-Fact-23C75DE1ED7F5C72B42053715F13F05E" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">118,810</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e686-wk-Fact-ADBF2739B88A56699F2925397B4EA981" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">182,747</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e706-wk-Fact-2978F841B73F50D1ADFE28042312B1B9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">245,437</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Greater China</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e731-wk-Fact-40070D58655C5B369AF3B2A501F5BADF" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_country_CN" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">27,854</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e750-wk-Fact-D9A1D30FF14A52FCB6B05227A31D8901" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_country_CN" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,068</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e769-wk-Fact-49FAA0443B3C5B908B48F4249F9B493B" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_country_CN" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">86,446</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e789-wk-Fact-0C4493F224B65357B62D29933125BE1D" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_country_CN" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">99,402</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other Asia</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e814-wk-Fact-19FFEC1F22DD50DEA428BA511426808C" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">26,009</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e833-wk-Fact-E0BC8805C7DD5AFDB99D53096D6AE5E3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">25,323</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e852-wk-Fact-1FA475EB4E6F532F918880B4493CB349" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">77,754</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e872-wk-Fact-176632859BCD5BAA880E46A3B3443411" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">80,222</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e902-wk-Fact-D87476BD383254658A0565571FE98076" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">183,325</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e921-wk-Fact-A0B9A3868C4F5663A1427018D1637E20" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">232,221</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e941-wk-Fact-F568A777847051799976291F44866CD6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">555,856</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e960-wk-Fact-180D186C103E5E198D3C769752920447" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">613,052</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="TextSelection-E0F548EA060D574C96CEEA926A1D7E25-0-wk-Fact-8F1F71DDF1985A9E867CED42AE5A7966" escape="true"><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"></td></tr><tr><td style="width:36%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Standard products and services</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1192-wk-Fact-4813F6B84C2958C193C717340BDE7F55" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">139,887</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1211-wk-Fact-4E3D1F6CBA1653D59FBEBAC60504C8F8" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">150,993</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1231-wk-Fact-6F21776232215754AB2D3B5D8D76DA4F" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">473,610</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1250-wk-Fact-A2DD850C9C425C5BA9276B94133D6F53" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">493,019</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1270-wk-Fact-0698EFC82E2C5366844469742F50EDE6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">43,438</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1289-wk-Fact-2CF5D89BE434572EB3878438B30CA8C4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">81,228</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1308-wk-Fact-FC05D16375885B6BB28C803ECC1886F5" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">82,246</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1328-wk-Fact-3F7943E8F0E4532493A1E92639EA7305" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">120,033</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1358-wk-Fact-D87476BD383254658A0565571FE98076" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">183,325</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1377-wk-Fact-A0B9A3868C4F5663A1427018D1637E20" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">232,221</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1397-wk-Fact-F568A777847051799976291F44866CD6" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">555,856</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1416-wk-Fact-180D186C103E5E198D3C769752920447" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">613,052</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19100935e1433-wk-Fact-C4AED3FE06DA5874BC67E126363BDE70" name="us-gaap:CapitalizedContractCostGross" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">4,792,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19100935e1437-wk-Fact-A3C2177DB76C5001ABAE4B7167B4D78B" name="us-gaap:CapitalizedContractCostGross" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">3,514,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and December 31, 2018, respectively.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended  </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively.  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="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">17</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-2"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" id="TextSelection-6BBFEF78DC88517FA2EB0C674A481D5B-0-wk-Fact-A7312A02FB2B5F50A7A69330DA45CCC2" escape="true"><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:80%;"></td><td style="width:1%;"></td><td style="width:18%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1509-wk-Fact-E19F93B8559352009EBC68263D1E19F2" name="us-gaap:DeferredRevenue" contextRef="FI2018Q4" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9,845</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19100935e1524-wk-Fact-D58FA024AC1A58049CBCCF6CB2EBCEFB" name="us-gaap:DeferredRevenueAdditions" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">37,351</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Recognition of revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19100935e1544-wk-Fact-E0860B11D53450A1BC7DA14F4ACDA3EB" name="us-gaap:DeferredRevenueRevenueRecognized1" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">36,517</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19100935e1565-wk-Fact-B7E1E24A766B5DCBB728D4AB805A2E4C" name="cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" sign="-" format="ixt:numdotdecimal">248</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19100935e1591-wk-Fact-1D613B8C9D165F1499F06490EDF92436" name="us-gaap:DeferredRevenue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,431</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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><a id="sDCFB6307370E5EBDAA4EB03700F67407"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 11: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:CompensationRelatedCostsGeneralTextBlock" id="TextSelection-FCC01B16F326505998D1B99B7C5D559F-0-wk-Fact-456EA032CE735F78A0C84AC4DE577FAF" continuedAt="TextSelection-FCC01B16F326505998D1B99B7C5D559F-1" escape="true">Stock-Based Compensation Expense</ix:nonNumeric></span></div><ix:continuation id="TextSelection-FCC01B16F326505998D1B99B7C5D559F-1" continuedAt="TextSelection-FCC01B16F326505998D1B99B7C5D559F-2"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs).  As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company had </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e358-wk-Fact-26EC1D415FDC5DB8B868C8175C638123" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="FI2019Q3_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">17,350,152</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> shares available for grant.  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><span style="font-family:Arial;font-size:10pt;">four</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19105712e366-wk-Fact-7DE9D9A829665BC4A891534BE3C420EF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" contextRef="FD2019Q3YTD_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember" format="ixt-sec:durwordsen">five years</ix:nonNumeric></span></span><span style="font-family:Arial;font-size:10pt;"> based upon continuous service and expire </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19105712e370-wk-Fact-03A270B92C3E58D1861B6BD2EDAE0938" name="cgnx:ExpirationPeriodOfStockOptionPlan" contextRef="FD2019Q3YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" format="ixt-sec:durwordsen">ten years</ix:nonNumeric></span></span><span style="font-family:Arial;font-size:10pt;"> from the grant date.  RSUs generally vest upon </span><span style="font-family:Arial;font-size:10pt;">three</span><span style="font-family:Arial;font-size:10pt;"> years of continuous employment or incrementally over such three-year period.  Participants are not entitled to dividends on RSUs. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Options</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="TextSelection-56BDB533DDAD5B34BF894069D1CDCE60-0-wk-Fact-36FAF0DACB3D5F0EA891A2C7E9DD4768" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"></td></tr><tr><td style="width:39%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e530-wk-Fact-0CCA0480824E54FC93D2F442DA9CF4B5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="FI2018Q4" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">13,789</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e549-wk-Fact-40CC9A6725EE5B8698EC164FF19AFB00" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="FI2018Q4" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">31.73</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e595-wk-Fact-30232C80C3695F9D881298ADEF5DA05A" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">2,879</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e609-wk-Fact-736E54AABF0D54ED977072577F9ABAEA" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">51.22</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercised</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19105712e660-wk-Fact-DA182730CA6B5B53937DF323E8FAAB9A" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">1,475</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e675-wk-Fact-5E0D388A49E15654A72B5253DC4C0189" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">21.53</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19105712e726-wk-Fact-73041357EFFD5918BE21E488AF983DC0" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">726</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e741-wk-Fact-887EE9BEA5A456D1AA0FC9FB5D957BEA" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">41.79</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e792-wk-Fact-BE811250EA9D5C04890DB39981CBBE68" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="FI2019Q3" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">14,467</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e811-wk-Fact-CF315C94EDC65699B2F5792113712494" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="FI2019Q3" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">36.14</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonNumeric id="d19105712e825-wk-Fact-4D938756CBE458429A4B81331BFAFC68" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" contextRef="FD2019Q3YTD" format="ixt-sec:duryear">7.19</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e841-wk-Fact-86E8D335EC8F599E951270A8625E7405" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">203,774</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercisable as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e856-wk-Fact-B5CB9352C2675907A48537A44E253DC9" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="FI2019Q3" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">5,714</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e875-wk-Fact-86A68B04845F5C9BA3DB1A3D6EA27307" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="FI2019Q3" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">25.33</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonNumeric id="d19105712e889-wk-Fact-29DD594848425615B7417D089FA50686" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" contextRef="FD2019Q3YTD" format="ixt-sec:duryear">5.73</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e905-wk-Fact-35396A3AE6185E17BA62748BFCB2D686" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">134,913</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of September 29, 2019 (1)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e920-wk-Fact-6FE1A8F09F2A554F8947DC1E06B9A5DF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" contextRef="FI2019Q3" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">13,116</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e939-wk-Fact-D68A63E4DBF055B6906CCB7F8CD65BF5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" contextRef="FI2019Q3" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">34.90</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonNumeric id="d19105712e953-wk-Fact-06B74D5A4E035D19A44D0208CEB05524" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" contextRef="FD2019Q3YTD" format="ixt-sec:duryear">7.04</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e969-wk-Fact-DC9C7CC03C6D58F0AC88223B8BD57174" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">199,066</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#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:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="TextSelection-CAA024EE9D0050E9B2DA464691752B07-0-wk-Fact-750849A324DD517A87D3CE819025EE9C" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:37%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Risk-free rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1163-wk-Fact-F4EC3B4AC14B53318AB564D4DC827549" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="FD2019Q3QTD" unitRef="number" decimals="3" scale="-2" format="ixt:numdotdecimal">2.7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1178-wk-Fact-20B4841F6671551A957A5DBBF80C1D59" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="FD2018Q3QTD" unitRef="number" decimals="3" scale="-2" format="ixt:numdotdecimal">2.9</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1193-wk-Fact-B12CF66C30F25A618341DD359CC64E4E" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="FD2019Q3YTD" unitRef="number" decimals="3" scale="-2" format="ixt:numdotdecimal">2.7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1208-wk-Fact-C34D0931BF5054188866C370684F5350" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="FD2018Q3YTD" unitRef="number" decimals="3" scale="-2" format="ixt:numdotdecimal">2.9</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected dividend yield</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1225-wk-Fact-1095C1FB3C415080853501C65AD27DE7" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="FD2019Q3QTD" unitRef="number" decimals="4" scale="-2" format="ixt:numdotdecimal">0.39</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1240-wk-Fact-F8C3F796E313537EA6BEE2CD2F067A1F" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="FD2018Q3QTD" unitRef="number" decimals="4" scale="-2" format="ixt:numdotdecimal">0.32</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1255-wk-Fact-B42A04EB2BCF577BA67B483759759B38" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="FD2019Q3YTD" unitRef="number" decimals="4" scale="-2" format="ixt:numdotdecimal">0.39</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1270-wk-Fact-07279E2071CB5719B400FE7E17FD56EB" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" contextRef="FD2018Q3YTD" unitRef="number" decimals="4" scale="-2" format="ixt:numdotdecimal">0.32</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected volatility</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1287-wk-Fact-97B0192D2A3352A9A8C6922000E71DAF" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">37</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1302-wk-Fact-6137DA18114259159C162F589ACBEE96" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">39</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1317-wk-Fact-0C191E45381D5564AD63376E1B94C10C" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">37</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1332-wk-Fact-CC53542BFB7351CFB346A387BEC29651" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">39</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonNumeric id="d19105712e1349-wk-Fact-FE53E46F1A765E6982D6FF8098BFBE6A" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="FD2019Q3QTD" format="ixt-sec:duryear">5.1</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19105712e1363-wk-Fact-A337559B58F05E8FAFDBA37535D1C1C6" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="FD2018Q3QTD" format="ixt-sec:duryear">5.4</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonNumeric id="d19105712e1377-wk-Fact-6004C1402F5456B7B3F0E3FBA38735BB" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="FD2019Q3YTD" format="ixt-sec:duryear">5.2</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19105712e1391-wk-Fact-27DB2A499E18598F96B158D9EF86C37D" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="FD2018Q3YTD" format="ixt-sec:duryear">5.3</ix:nonNumeric></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">18</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-FCC01B16F326505998D1B99B7C5D559F-2" continuedAt="TextSelection-FCC01B16F326505998D1B99B7C5D559F-3"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1442-wk-Fact-9AAAAACD351D58A3850A0AFC0A9F43D9" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2019Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">18.42</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1446-wk-Fact-A509DCA15F6B5B728DB0C003EE184A41" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2018Q3QTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">22.52</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The weighted-average grant-date fair values of stock options granted during the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1459-wk-Fact-2D88C899143E57369A6FC73C342F863C" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">18.58</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1463-wk-Fact-3AC674B2209A5D1DB38EEF845A706AE8" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2018Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">21.70</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1478-wk-Fact-FA85806F343C5B1AA2735CE65098D5FB" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" contextRef="FD2019Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">5,746,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1482-wk-Fact-9E48EAB8FA33561FA3DD2F982AC17B00" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" contextRef="FD2018Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">17,985,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total intrinsic values of stock options exercised for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1495-wk-Fact-48BEB62F4E9B56CE954099CD69B29644" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" contextRef="FD2019Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">42,545,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1499-wk-Fact-64BBC392D72655D2827665F32382BC93" name="cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" contextRef="FD2018Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">50,975,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1511-wk-Fact-72D8B081050D5A4BBCEA2B8EAEBAC4C7" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" contextRef="FD2019Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">1,213,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1516-wk-Fact-4C87A6D2723651F9B793693C7D980372" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" contextRef="FD2018Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">997,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1528-wk-Fact-AF7F94B2A1425A0AAD7C2DC76A0D4163" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" contextRef="FD2019Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">32,072,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1532-wk-Fact-1620CA17DDEA531899417EEA27E600A7" name="cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" contextRef="FD2018Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">27,557,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.   </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Restricted Stock Units (RSUs)</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost was then amortized over the period of vesting until the restrictions lapsed. </span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" id="TextSelection-03FE91D88FFCEA9CCD05FB1AEE57CC1C-0-wk-Fact-252047222A325A58B8B8FB1AFAC44146" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's RSUs activity for the nine-month period ended September&#160;29, 2019: </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="7"></td></tr><tr><td style="width:67%;"></td><td style="width:15%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Date    Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1653-wk-Fact-D01A59EE025B8F669C29EF266D236005" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">75</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1667-wk-Fact-B67F352D929EBF7760B2EF2794353C8B" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">45.20</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vested</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1755-wk-Fact-D01A59EE025B8F669C29EF266D236005" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">75</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e1774-wk-Fact-B67F352D929EBF7760B2EF2794353C8B" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="FD2019Q3YTD" unitRef="usdPerShare" decimals="2" scale="0" format="ixt:numdotdecimal">45.20</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September&#160;29, 2019 were </span><span style="font-family:Arial;font-size:10pt;">$45.20</span><span style="font-family:Arial;font-size:10pt;">.  There were no RSUs vested for the three or nine-month periods ended September&#160;29, 2019.  There were no RSUs granted or vested in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation Expense</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1796-wk-Fact-7E9740383820E9595F2DCFB52CA7A3CD" name="cgnx:NumberOfGroupsWithinEmployeePopulation" contextRef="FI2019Q3" unitRef="group" decimals="INF" scale="0" format="ixt-sec:numwordsen">two</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1800-wk-Fact-D88AD520CB62029915E1CFB58B0B0BAC" name="cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" contextRef="FI2019Q3" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">9</ix:nonFraction>%</span></span><span style="font-family:Arial;font-size:10pt;"> to all equity awards for senior management and a rate of </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1804-wk-Fact-FA457E9A7C353462B03FCFB5C4A66355" name="cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" contextRef="FI2019Q3" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction>%</span></span><span style="font-family:Arial;font-size:10pt;"> for all other employees.  Each year during the first quarter, the Company revises its estimated forfeiture rate.  This resulted in a decrease to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1808-wk-Fact-4C186C6A22EB68F7379BCFB5F39B6511" name="cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" contextRef="FD2019Q1QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">499,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> in 2019 and an increase to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1812-wk-Fact-53B99C67431170F1BE6ECFB61CA7F43A" name="cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" contextRef="FD2018Q1QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">1,283,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1823-wk-Fact-EE88E437343939C37DF3B1E8D871503E" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="FI2019Q3" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">59,708,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19105712e1827-wk-Fact-3CBC821662A358AAA93A15EDA1104CBB" name="cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" contextRef="FD2019Q3YTD" format="ixt-sec:duryear">1.60</ix:nonNumeric></span></span><span style="font-family:Arial;font-size:10pt;"> years.</span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">19</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-FCC01B16F326505998D1B99B7C5D559F-3"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1838-wk-Fact-DD6DEBCE22405EF98D8008415F3A07C3" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">10,194,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1842-wk-Fact-F1AF3865CBE6560EA2CB1C05F67DDD7B" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">1,804,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1850-wk-Fact-DD5F303909E35DB4A17E9CD928B4FF22" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">9,143,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1855-wk-Fact-7BE05E10FFD85EAB86EE3A5333640E16" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">1,654,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1863-wk-Fact-158271D974B95E98A7B8307DAA5DA5AD" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">33,442,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1867-wk-Fact-67F0E6B580BE5F96B9A95F111BD0723B" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">5,839,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1875-wk-Fact-DEF149A7D06C54C2A1AD294725B559D6" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">31,339,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105712e1880-wk-Fact-11A9614A26595EA3988C46BA0F3EB772" name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">5,608,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e1884-wk-Fact-A6D5D7D29B565FCEB5749A8C8A34CD76" name="cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" contextRef="FI2019Q3" unitRef="usd" decimals="INF" scale="0" format="ixt-sec:numwordsen">No</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> compensation expense was capitalized as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="TextSelection-A4F835739F76580892A3DCBCCC2FCF5F-0-wk-Fact-F3F017B8ED21581B9854E3CBCD03B6A2" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"></td></tr><tr><td style="width:38%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2104-wk-Fact-E1814A9CB0F356009594D21BFB983B2D" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">334</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2123-wk-Fact-8BE0B2EFD6F957A5BA3EDE75FA9B81BA" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">544</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2142-wk-Fact-1B64438A05C45A91B65D2233B045DA26" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,114</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2162-wk-Fact-06D76FF981785681BDB36BB873B9DC78" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">1,898</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2177-wk-Fact-56CF8BC9014053E896D8447DD072E591" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,616</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2196-wk-Fact-1BA9CEF34ABE511E9725599EF5D539E8" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">3,197</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2215-wk-Fact-28BE5B3BCA79564BB1F8B5E36D32A1FB" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,633</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2235-wk-Fact-D9E0DF0DB05C53D7B1D644B9F5EF01C1" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">11,166</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2255-wk-Fact-48F7AE2077EA52CBA0C7932E0496E077" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">6,244</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2274-wk-Fact-56C70A0204945C6097791F1F330A60AD" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">5,402</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2293-wk-Fact-CFB31F8C56A258A8B3BD2B8CBF9FB8B4" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">20,695</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2313-wk-Fact-2ED9C21082A550CBABAE9F1D4D3B331E" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">18,275</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2338-wk-Fact-DD6DEBCE22405EF98D8008415F3A07C3" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">10,194</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2357-wk-Fact-DD5F303909E35DB4A17E9CD928B4FF22" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3QTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">9,143</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19105712e2376-wk-Fact-158271D974B95E98A7B8307DAA5DA5AD" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">33,442</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105712e2396-wk-Fact-DEF149A7D06C54C2A1AD294725B559D6" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="FD2018Q3YTD" unitRef="usd" decimals="-3" scale="3" format="ixt:numdotdecimal">31,339</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric></ix:continuation><div><a id="s2EE5CADAE0D75E08AA5506A7F9A0032D"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 12: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="TextSelection-8502F54D9F855518BB7F2F0CF9AFF567-0-wk-Fact-23146C40C926583480A7B4772ABE8CA3" continuedAt="TextSelection-8502F54D9F855518BB7F2F0CF9AFF567-1" escape="true">Stock Repurchase Program</ix:nonNumeric></span></div><ix:continuation id="TextSelection-8502F54D9F855518BB7F2F0CF9AFF567-1"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In October 2018, the Company's Board of Directors authorized the repurchase of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105770e352-wk-Fact-CF08C6FD9135518BA033E5AA1D9C453B" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" contextRef="I2018Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member" unitRef="usd" decimals="INF" scale="0" format="ixt:numdotdecimal">200,000,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company repurchased </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105770e360-wk-Fact-4E2C87D512EA5A09A55E6C02A827F53F" name="cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased" contextRef="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member" unitRef="shares" decimals="-3" scale="0" format="ixt:numdotdecimal">1,601,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105770e364-wk-Fact-A965E14FF47F59DBBA671AB77DF9EE35" name="cgnx:StockRepurchaseProgramValue" contextRef="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">70,312,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> under this program, including </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19105770e368-wk-Fact-38FB6A69A570566EB60A4F72E7505151" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member" unitRef="shares" decimals="-3" scale="0" format="ixt:numdotdecimal">1,398,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105770e373-wk-Fact-BE236B7D6FE858919C9F53A645A609CD" name="us-gaap:StockRepurchasedDuringPeriodValue" contextRef="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">61,690,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">. The Company may repurchase shares under this program in future periods, up to the remaining balance of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19105770e381-wk-Fact-4E0DADC078C25322B7CC4ECDF892EC7A" name="us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" contextRef="FI2019Q3" unitRef="usd" decimals="0" scale="0" format="ixt:numdotdecimal">129,688,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</span></div></ix:continuation><div><a id="sC21055BE2B195FACB6355300C182C9CE"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 13: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:IncomeTaxDisclosureTextBlock" id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-0-wk-Fact-FEBBEBFD314C521C97F82EE8F87A3F74" continuedAt="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-1" escape="true">Taxes</ix:nonNumeric></span></div><ix:continuation id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-1" continuedAt="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-2"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="TextSelection-A0FD9710A2A7519087923BC9F37E5B69-0-wk-Fact-BF0E8D9018C05CF48AE74DB7ABC3B1FC" escape="true"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:39%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense at U.S. federal statutory corporate tax rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e512-wk-Fact-E06C9FF089EF5555B527626512875373" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2019Q3QTD" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e527-wk-Fact-D65AA88C2A4F5CEAB61101CB28633F27" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2018Q3QTD" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e542-wk-Fact-6DA869CB4238517CA1BDD5D886F431BB" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2019Q3YTD" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e557-wk-Fact-FB168288ED085B93B96A1C8AB0C16213" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2018Q3YTD" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e574-wk-Fact-4B548B2A2FA9511E97BC6C9F1605FFCA" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e589-wk-Fact-5C181200750558A2ABC4215372437A76" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e604-wk-Fact-9603F5DA9BDE56748B40C0981083C306" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e619-wk-Fact-08791D8B843256DB8E663046C125D206" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e636-wk-Fact-0B0E78983B9656F8A13B665AAFC10F2A" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e651-wk-Fact-0B5B0B1B221B51D3920DDD51445543E7" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e666-wk-Fact-2ED0C58634A7599EBF57C3F84B3881C2" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e681-wk-Fact-05DC2FE958785CE3894DA247FBF395EE" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Tax credit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e698-wk-Fact-46183A490AA75BD7A3B00A2B7418110B" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e713-wk-Fact-459E4E1BD5945C399FE5E1AC91EA0421" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e728-wk-Fact-FCACB8DB7E3759FD9116A079CF0F990C" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e743-wk-Fact-5A26B6FB92115CB9BE3848F743CBE955" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to Tax Act 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e760-wk-Fact-5B25508AFAB752609EC54E6CFDCF200A" name="cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e775-wk-Fact-7B0F893D55505C21872A6426E12758A3" name="cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">9</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e790-wk-Fact-F698863DB5955649AA7AE66E03A7176B" name="cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:zerodash">&#8212;</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e805-wk-Fact-9EFF298975A45265A315DCA1A31D3292" name="cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">4</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock options</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e822-wk-Fact-CED86EFAE4165B6C90D7C0F22CD7F3E7" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e837-wk-Fact-FB91422093515CDEBC57010D7C0B7840" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">4</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e852-wk-Fact-682980018F56553092C4FE4B0B68A58D" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e867-wk-Fact-4DB51E8E46C15C63B5F2276EE6406229" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">5</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other discrete tax events</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e884-wk-Fact-000E60A7344B583E94AC753CD5A7A033" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e899-wk-Fact-CB5A8B28EB985FD3AFD7B0C7EA7EC35E" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(<ix:nonFraction id="d19106648e914-wk-Fact-0744895984AD55CA87EED9F1FAD2B05D" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(<ix:nonFraction id="d19106648e929-wk-Fact-47299F3141115A13A47886A4E220A510" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e946-wk-Fact-1981185DF28C5E349D0DCBDEB9503DFD" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e961-wk-Fact-CEE2FE354D2D5863ACD49456121FD61D" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e976-wk-Fact-1C9D0021290D5E1B969EAFC3D30F3976" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">2</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e991-wk-Fact-173A92CF0CA55DDE9A38C2832FF8AE4B" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e1008-wk-Fact-72DB7B1C96385AF3BBC54E8FFCA0D0EA" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1022-wk-Fact-1F1991B80E04549DB82BA5A0EACC2328" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19106648e1037-wk-Fact-E04CEB52B56054E98DEDA98DF0A25DCA" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">12</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1052-wk-Fact-93FDCA5C25B05A46AB11A865F77635DB" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">6</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.  The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United </span></div></ix:continuation><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">20</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </span></div></div><div><br/></div><ix:continuation id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-2" continuedAt="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-3"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">States, Ireland, and China.  The statutory tax rate is </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1074-wk-Fact-6A06F957679259788FD044256308760D" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">12.5</ix:nonFraction>%</span></span><span style="font-family:Arial;font-size:10pt;"> in Ireland and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1078-wk-Fact-C31E6338C0275BC7BDB33AD85B95D4C6" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">25</ix:nonFraction>%</span></span><span style="font-family:Arial;font-size:10pt;"> in China, compared to the U.S. federal statutory corporate tax rate of </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1082-wk-Fact-05390520DC9E5191A89AF448ACE15650" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember" unitRef="number" decimals="INF" scale="-2" format="ixt:numdotdecimal">21</ix:nonFraction>%</span></span><span style="font-family:Arial;font-size:10pt;">.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1086-wk-Fact-2ED0C58634A7599EBF57C3F84B3881C2" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" sign="-" format="ixt:numdotdecimal">7</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> percentage points</span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span><span style="font-family:Arial;font-size:10pt;">for all periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1097-wk-Fact-CED86EFAE4165B6C90D7C0F22CD7F3E7" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2019Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">1</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1101-wk-Fact-FB91422093515CDEBC57010D7C0B7840" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2018Q3QTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">4</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively, and a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1113-wk-Fact-682980018F56553092C4FE4B0B68A58D" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2019Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">3</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19106648e1118-wk-Fact-4DB51E8E46C15C63B5F2276EE6406229" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" contextRef="FD2018Q3YTD" unitRef="number" decimals="2" scale="-2" format="ixt:numdotdecimal">5</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">During the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company recorded a </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1145-wk-Fact-D40415BB56D058BEAD3EEF68F143C62C" name="us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">37,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1149-wk-Fact-045A2406F1115B0FBBD4007AC454E377" name="cgnx:IncreaseDecreaseInterestAndPenalties" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">50,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1165-wk-Fact-3B450E79CA755459A97B2373321C19FA" name="cgnx:LiabilityForUncertainTaxPositions" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">8,179,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, which included </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1173-wk-Fact-124DB1F0EE8055EDB1E543B6BF97A3DA" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">7,151,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1177-wk-Fact-35931A98C5845B71A90890FBD4583D8D" name="cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">1,028,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1181-wk-Fact-F5913058A2C551789B740C1592FF6E41" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" contextRef="FI2019Q3" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">918,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;">.  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.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1186-wk-Fact-C94E9191E3EF562C90F448CBB908F1CF" name="cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">1,300,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> to </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19106648e1190-wk-Fact-171F181C0FD25AFCA06E29D8CB33E058" name="cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" contextRef="FD2019Q3YTD" unitRef="usd" decimals="-3" scale="0" format="ixt:numdotdecimal">1,400,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> over the next twelve months.</span></div></ix:continuation><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><ix:continuation id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-3" continuedAt="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-4"><span style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts.  Within the United States, the tax years </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19106648e1197-wk-Fact-AEB55663BC4C5C4A852527B52E801A14" name="cgnx:TaxyearsopentoexaminationbyInternalRevenueService" contextRef="FD2019Q3YTD">2016 through 2018</ix:nonNumeric></span></span><span style="font-family:Arial;font-size:10pt;"> remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonNumeric id="d19106648e1201-wk-Fact-85648D4B2BA9510180EC51C524B9976B" name="cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities" contextRef="FD2019Q3YTD">2015 through 2018</ix:nonNumeric></span></span></ix:continuation><span style="font-family:Arial;font-size:10pt;"><ix:continuation id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-4"> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.</ix:continuation> </span></div><div><a id="s0663D2E95BA358509C521D730521BCE5"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 14: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:EarningsPerShareTextBlock" id="TextSelection-5DC64AA97FFA5DF9BFCAC358E7C4364C-0-wk-Fact-B84336F258955EC5B0368B716D5AB1F7" continuedAt="TextSelection-5DC64AA97FFA5DF9BFCAC358E7C4364C-1" escape="true">Weighted-Average Shares</ix:nonNumeric></span></div><ix:continuation id="TextSelection-5DC64AA97FFA5DF9BFCAC358E7C4364C-1"><ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" id="TextSelection-81069008566459F2865B29B05A44803A-0-wk-Fact-4007E37DEE9C52CAA6F2526CC35C27F7" escape="true"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"></td></tr><tr><td style="width:39%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:14%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e512-wk-Fact-80A7E07AFF9758B98F85A1BA237B4E2F" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2019Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">170,744</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e526-wk-Fact-42A1A491372756ADB9A63192E2035B03" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2018Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,189</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e540-wk-Fact-18AF80432B4B564D8EA12B300BB14D0F" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">171,053</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e554-wk-Fact-450FAE4711BC52F8BFAE77A07E3CA33A" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="FD2018Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">172,613</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of dilutive equity awards</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e570-wk-Fact-F00D026037135057B8D96FA16BC7CAE3" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="FD2019Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">3,705</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e584-wk-Fact-09469149E8615198850068B4D44C867C" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="FD2018Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">5,056</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e598-wk-Fact-C09B5804EA83517BB3BD96F0B6073A50" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">4,111</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e612-wk-Fact-A60B99024C59512D8BA937DF39BE7801" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="FD2018Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">5,408</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e628-wk-Fact-4D1C23EBB3D15D4DA1E092FF3AEC13C9" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2019Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">174,449</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e642-wk-Fact-492CE133AF9D5CAEB1063D27A1B2C5B3" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2018Q3QTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">177,245</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span><ix:nonFraction id="d19107140e656-wk-Fact-BC0F732AAEBE5654BDC0C96982E19BC8" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2019Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">175,164</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e670-wk-Fact-7EC95DD9BA585E3CBD2590C40EEC3A72" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="FD2018Q3YTD" unitRef="shares" decimals="-3" scale="3" format="ixt:numdotdecimal">178,021</ix:nonFraction></span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div></ix:nonNumeric><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Equity awards to purchase </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e688-wk-Fact-4E82B59BADE95383829A331F226BE494" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="FD2019Q3QTD" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">6,078,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e692-wk-Fact-64D58453802E5A32BA0AD954CF34B858" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="FD2019Q3YTD" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">5,695,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively, and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e700-wk-Fact-61220F4CEBC55393B230665D2B8CB0CF" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="FD2018Q3QTD" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">2,796,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107140e704-wk-Fact-E60D54BC562A59DE88E3566CF9E8C16F" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="FD2018Q3YTD" unitRef="shares" decimals="INF" scale="0" format="ixt:numdotdecimal">2,353,000</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</span></div></ix:continuation><div><a id="s0F3611CCFDF15D8185057593B51B3BCC"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 15: <ix:nonNumeric contextRef="FD2019Q3YTD" name="us-gaap:SubsequentEventsTextBlock" id="TextSelection-40029B5AAB5254F398FE849672C567C8-0-wk-Fact-AA305734206556979B9F5DC0DB32648A" continuedAt="TextSelection-40029B5AAB5254F398FE849672C567C8-1" escape="true">Subsequent Events</ix:nonNumeric></span></div><ix:continuation id="TextSelection-40029B5AAB5254F398FE849672C567C8-1" continuedAt="TextSelection-40029B5AAB5254F398FE849672C567C8-2"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107199e352-wk-Fact-313C6FF0A84593E8261A046414C965E7" name="us-gaap:BusinessCombinationConsiderationTransferred1" contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" unitRef="usd" decimals="-6" scale="6" format="ixt:numdotdecimal">195</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> million.  The total consideration included cash payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107199e356-wk-Fact-D6B560242A03522A5CED04658307B654" name="us-gaap:PaymentsToAcquireBusinessesGross" contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" unitRef="usd" decimals="-6" scale="6" format="ixt:numdotdecimal">171</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> million upon closing.  The remaining consideration consists of deferred payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107199e360-wk-Fact-3BCB32046666F19D815204689494A1A4" name="cgnx:PaymentstoAcquireBusinessesDeferred" contextRef="I2019Q3_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" unitRef="usd" decimals="0" scale="6" format="ixt:numdotdecimal">24</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period.  Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $</span><span style="font-family:Arial;font-size:10pt;"><span><ix:nonFraction id="d19107199e364-wk-Fact-D6B560242A03522A5CED04658307B654" name="us-gaap:PaymentsToAcquireBusinessesGross" contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" unitRef="usd" decimals="-6" scale="6" format="ixt:numdotdecimal">171</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> million of consideration that is not related to employment.  Transaction costs incurred to date were not material and were expensed as incurred.  The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.</span></div></ix:continuation><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><ix:continuation id="TextSelection-40029B5AAB5254F398FE849672C567C8-2" continuedAt="TextSelection-40029B5AAB5254F398FE849672C567C8-3"><span style="font-family:Arial;font-size:10pt;">On October 28, 2019, the Company&#8217;s Board of Directors declared a cash dividend of </span><span style="font-family:Arial;font-size:10pt;"><span>$<ix:nonFraction id="d19107199e372-wk-Fact-77ACAA1BF776500781C6D0351F8B6FC6" name="us-gaap:Dividends" contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" unitRef="usd" decimals="INF" scale="0" format="ixt:numdotdecimal">0.055</ix:nonFraction></span></span><span style="font-family:Arial;font-size:10pt;"> per share.  The dividend is payable on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap"><ix:nonNumeric id="d19107199e376-wk-Fact-79450D406AB1501CB171A465803BC732" name="us-gaap:DividendPayableDateToBePaidDayMonthAndYear" contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" format="ixt:datemonthdayyearen">November 29, 2019</ix:nonNumeric></span></span></span><span style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap"><ix:nonNumeric id="d19107199e380-wk-Fact-F0ED71CDFB1D54978194E07680AFCC25" name="us-gaap:DividendsPayableDateOfRecordDayMonthAndYear" contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" format="ixt:datemonthdayyearen">November 15, 2019</ix:nonNumeric></span></span></span></ix:continuation><span style="font-family:Arial;font-size:10pt;"><ix:continuation id="TextSelection-40029B5AAB5254F398FE849672C567C8-3">.</ix:continuation> </span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">21</span></div></div><hr style="page-break-after:always"></hr><div><a id="sC1EA626A1F675CCCA71988AC7B8C8DB3"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;2: MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Forward-Looking Statements</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 upon 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, customer order rates and timing of related revenue, expected areas of growth, emerging markets, future product mix, research and development activities, investments, strategic 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)&#160;the loss of a large customer; (2)&#160;current and future conditions in the global economy, including the imposition of tariffs or export controls; (3)&#160;the reliance on revenue from the consumer electronics or automotive industries; (4)&#160;the inability to penetrate new markets; (5)&#160;the inability to achieve significant international revenue; (6)&#160;fluctuations in foreign currency exchange rates and the use of derivative instruments; (7)&#160;information security breaches or business system disruptions; (8)&#160;the inability to attract and retain skilled employees; (9) the failure to effectively manage our growth; (10)&#160;the reliance upon key suppliers to manufacture and deliver critical components for our products; (11)&#160;the failure to effectively manage product transitions or accurately forecast customer demand; (12)&#160;the inability to design and manufacture high-quality products; (13)&#160;the technological obsolescence of current products and the inability to develop new products; (14)&#160;the failure to properly manage the distribution of products and services; (15)&#160;the inability to protect our proprietary technology and intellectual property; (16)&#160;our involvement in time-consuming and costly litigation; (17)&#160;the impact of competitive pressures; (18)&#160;the challenges in integrating and achieving expected results from acquired businesses, including the recent acquisition of Sualab; (19)&#160;potential impairment charges with respect to our investments or for acquired intangible assets or goodwill; and (20)&#160;exposure to additional tax liabilities.  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, 2018.  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="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Executive Overview</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cognex Corporation is a leading worldwide provider of machine vision products that capture and analyze visual information in order to automate tasks, primarily in manufacturing processes, 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="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cognex machine vision is primarily 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 can achieve better quality and manufacturing efficiency by using machine vision, and therefore, Cognex products are used by a broad base of customers across a variety of industries, including consumer electronics, automotive, consumer products, food and beverage, pharmaceuticals, and medical devices.  Cognex products are also used to automate distribution processes in the logistics industry for applications in retail distribution and ecommerce to scan, track, and sort goods through distribution centers.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Revenue for the third quarter of 2019 totaled $183,325,000, representing a decrease of 21% from the third quarter of 2018 driven by significantly lower revenue in the consumer electronics industry. Gross margin as a percentage of revenue declined to 74% for the third quarter of 2019 from 75% for the third quarter of 2018 due primarily to the impact of the lower sales volume.  Operating expenses in the third quarter of 2019 decreased by 3% over the third quarter of 2018 due principally to lower expenses related to incentive compensation plans.  Operating income was 24% of revenue in the third quarter of 2019 compared to 34% of revenue in the third quarter of 2018; net income was 23% of revenue in the third quarter of 2019 compared to 35% of revenue in the third quarter of 2018; and net income per diluted share was $0.24 in the third quarter of 2019 compared to $0.45 in the third quarter of 2018.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">22</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Results of Operations</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue</span></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Revenue decreased by $48,896,000, or 21%, for the three-month period and decreased by $57,196,000, or 9%, for the nine-month period.  Changes in foreign currency exchange rates did not have a material impact on revenue for either period presented. </span></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The decrease in revenue for both periods was driven by significantly lower revenue in the consumer electronics industry, primarily related to smartphone manufacturing.  Delays and reductions in capital spending from customers in a variety of other factory automation industries, including the automotive industry, also contributed to the decrease in revenue.  These decreases were only partially offset by strong sales in the logistics industry.</span></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sales to customers based in the Americas increased by 14% for the three-month period and 11% for the nine-month period driven by higher sales in the logistics industry, partially offset by lower sales in the automotive industry.  Sales to customers based in Europe decreased by 46% for the three-month period and 26% for the nine-month period driven by lower sales in the consumer electronics industry, and to a lessor extent, the automotive industry.  Sales to customers based in Greater China decreased by 10% for the three-month period and 13% for the nine-month period due to lower sales across a variety of industries.  The decline would have been larger in Greater China, and less extreme in Europe, if not for procurement changes made by certain consumer electronics customers, shifting their purchases to China from Europe.  Sales to customers based in other regions in Asia were relatively flat for both periods.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of the date of this report, we expect revenue for the fourth quarter of 2019 to be lower than both the third quarter of 2019 and the fourth quarter of 2018.  The sequential decrease is anticipated to come primarily from lower sales in the consumer electronics industry due to the seasonal timing of this business, while the decrease from the prior year is anticipated to come from a broad base of customers in a variety of industries, particularly in China and Europe.  While the Company experienced strong sales in the logistics industry in the third quarter of 2019 over the prior year, we expect logistics revenue to be lower in the fourth quarter of 2019 compared to the prior year due primarily to a major customer delaying delivery of large orders for new sites.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Gross Margin</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross margin as a percentage of revenue was 74% for both the three-month and nine-month periods in 2019 compared to 75% for the same periods in 2018.  The decline in the gross margin percentage was due primarily to the unfavorable absorption of manufacturing overhead costs over the lower level of revenue. </span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of the date of this report, we expect gross margin as a percentage of revenue for the fourth quarter of 2019 to be relatively consistent with the gross margin reported in the third quarter of 2019.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Operating Expenses</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering (RD&amp;E) expenses decreased by $1,585,000, or 5%, for the three-month period and $1,228,000, or 1%, for the nine-month period as detailed in the table below (in thousands).</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">23</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:69%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-month period</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">29,700</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">87,664</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Personnel-related costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">898</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">3,096</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Incentive compensation plans</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(2,302</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(3,646</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(310</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(1,576</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">129</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">898</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">28,115</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">86,436</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">RD&amp;E expenses decreased due to lower expenses related to incentive compensation plans resulting from lower levels of achievement on performance plans that were set at the beginning of the year.  Changes in foreign currency exchange rates also resulted in a lower level of expenses, as costs denominated in foreign currencies were translated to U.S. Dollars at a lower rate.  These decreases were offset by higher personnel-related costs resulting primarily from headcount additions to support new product initiatives.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">RD&amp;E expenses as a percentage of revenue were 15% and 16% for the three-month and nine-month periods in 2019, respectively, compared to 13% and 14% for the same periods in 2018.  We believe that a continued commitment to RD&amp;E activities is essential in order 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 time to market for new products to be critical to our revenue growth.  Therefore, we expect to continue to make significant RD&amp;E investments in the future, and currently intend to continue our product development plans during periods of lower revenue levels. &#160;Furthermore, the acquisition of Sualab on October 16, 2019 is anticipated to result in a higher level of RD&amp;E investment in future periods, as the majority of operating expenses from this acquisition are expected to be classified as RD&amp;E expenses. &#160;Accordingly, we expect RD&amp;E expenses as a percentage of revenue to be higher in the fourth quarter of 2019 than the percentage reported for the nine-month period ended September 29, 2019. </span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Selling, General, and Administrative Expenses</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative (SG&amp;A) expenses decreased by $1,331,000, or 2%, for the three-month period and increased by $3,276,000, or 2%, for the nine-month period as detailed in the table below (in thousands). </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:71%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-month period</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">65,817</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">196,266</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Personnel-related costs</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">4,813</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">18,691</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Incentive compensation plans</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(3,762</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(6,859</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(806</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(4,422</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ERP project costs</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(1,586</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(4,253</span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">10</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">119</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">64,486</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">199,542</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">SG&amp;A expenses decreased due to lower expenses related to incentive compensation plans resulting from lower levels of achievement on performance plans that were set at the beginning of the year.  Expenses were also lower due to project costs incurred in 2018 related to the Company's new Enterprise Resource Planning (ERP) system.  This system was placed into service during the third quarter of 2018, and therefore, similar costs were not incurred in 2019.  Changes in foreign currency exchange rates also resulted in a lower level of expenses, as costs denominated in foreign currencies were translated to U.S. Dollars at a lower rate.  These decreases were offset by higher personnel-related costs resulting primarily from headcount additions, principally sales personnel.  In addition to salaries and fringe benefits, these personnel-related costs included sales commissions and travel expenses related to the additional headcount.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-operating Income (Expense)</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company recorded foreign currency losses of $1,295,000 and $1,403,000 for the three-month and nine-month periods in 2019, respectively, compared to $379,000 and $708,000 for the same periods in 2018.  Foreign currency gains and losses result primarily from the revaluation and settlement of accounts receivable, accounts payable, and intercompany balances that are reported in one currency and collected in another.  A higher level of foreign currency losses was recorded in the third quarter of 2019 from the revaluation of intercompany payables denominated in U.S. Dollars on the company's China entity.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">24</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Investment income increased by $1,177,000, or 30%, for the three-month period and $4,506,000, or 42%, for the nine-month period.  The increase was due to higher yields on the Company's portfolio of debt securities, and to a lesser extent additional funds available for investment.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company recorded other income of $456,000 and $1,239,000 for the three-month and nine-month periods in 2019, respectively, compared to other expense of $129,000 and $98,000 for the same periods in 2018.  Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions.  A higher level of fair value adjustments to income was recorded in 2019 related to the Company's GVi acquisition resulting from a lower level of revenue in the Americas' automotive industry. </span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Income Tax Expense</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s effective tax rate was 12% of pre-tax income for the three-month and nine-month periods in 2019, respectively, compared to 1% and 6% for the same periods in 2018.</span></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The effective tax rate included a decrease in tax expense of $569,000 and $4,547,000 for the three-month and nine-month periods in 2019, respectively, and $2,811,000 and $8,400,000 for the same periods in 2018 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.  The Company cannot predict the level of stock option exercises by employees in future periods.  </span></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In addition, the effective tax rate included a decrease in tax expense of $1,327,000 for the three-month period and $1,330,000 for the nine-month period in 2019, respectively, consisting primarily of the expiration of the statutes of limitations for certain reserves for income tax uncertainties.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Excluding the impact of these discrete tax events, the Company&#8217;s effective tax rate was 16% of pre-tax income for all periods presented. </span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United States, Ireland, and China.  The statutory tax rate is 12.5% in Ireland and 25% in China, compared to the U.S. federal statutory corporate tax rate of 21%.  International rights to certain of the Company&#8217;s intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law. </span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The European Union has initiated a series of tax reform legislation over the past few years regarding hybrid tax structures.  The Company plans to make changes to its tax structure in the fourth quarter of 2019 as a result of this legislation.  Management is currently evaluating the financial impact of these changes and expects to record a discrete tax benefit of between $100 million and $125 million in the fourth quarter of 2019.  Management also expects its current effective tax rate excluding discrete items of 16% to increase slightly in future years as a result of this change.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On October 16, 2019, the Company acquired Sualab, a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $195 million.  The Company plans to migrate acquired intellectual property to certain subsidiaries in the fourth quarter of 2019.  Management is currently evaluating the financial impact of this migration and expects to record a discrete tax expense of between $27 million and $33 million in the fourth quarter of 2019.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liquidity and Capital Resources</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 $918,414,000 as of September 29, 2019.  The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash requirements during the nine months ended September 29, 2019 were primarily met with positive cash flows from operations.  Cash requirements consisted of operating activities, the repurchase of common stock, the payment of dividends, and capital expenditures.  Operating cash inflows included a reduction in accounts receivable from the collection of a significant amount due from a material customer in the consumer electronics industry, as well as a reduction in inventory levels.  Operating cash outflows included the payment of company bonuses that were earned and accrued in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Capital expenditures during the nine months ended September 29, 2019 totaled $13,518,000 and consisted of computer hardware and software, manufacturing test equipment related to new product introductions, and improvements made to the Company's headquarters building in Natick, Massachusetts and various leased facilities. </span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">25</span></div></div><hr style="page-break-after:always"></hr><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock.  As of September 29, 2019, the Company repurchased 1,601,000 shares at a cost of $70,312,000 under this program, including 1,398,000 shares at a cost of $61,690,000 during the nine months ended September 29, 2019.  The Company may repurchase shares under this program in future periods, up to the remaining balance of $129,688,000, depending on a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid a cash dividend of $0.05 per share in each quarter of 2019, amounting to $25,682,000 in the aggregate for the nine-month period ended September 29, 2019.  Future dividends will be declared at the discretion of the Company&#8217;s Board of Directors and will depend upon such factors as the Board deems relevant including, among other things, the Company&#8217;s ability to generate positive cash flows from operations.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On October 16, 2019, the Company acquired Sualab for total cash consideration of approximately $171 million upon closing and deferred payments of approximately $24 million that may become payable on the fourth anniversary date of the closing.  The Company plans to migrate acquired intellectual property to certain subsidiaries in the fourth quarter of 2019, which is expected to result in a foreign tax payment of between $35 million to $37 million payable in early 2020.</span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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.  As of September 29, 2019, the Company had $918,414,000 in cash and investments.  In addition, the Company has no long-term debt and does not anticipate needing debt financing in the near future.  We believe that our strong cash position has put us in a relatively good position with respect to our longer-term liquidity needs.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">New Pronouncements</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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><a id="s7DFC3985CC685A44AF5F77934FE3D26B"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">There have been no material changes to the Company&#8217;s exposures to market risk since </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div><a id="s0BC65EE583775F8282EB3944907CF915"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4: CONTROLS AND PROCEDURES</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 Principal Financial &amp; Accounting 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 Principal Financial &amp; Accounting 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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">There was no change in the Company's internal control over the financial reporting that occurred during the quarter ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> that has materially affected, or is reasonably likely to materially affect, the Company's internal control over financial reporting.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">26</span></div></div><hr style="page-break-after:always"></hr><div><a id="s0955BA6EACF55F5E99AB78DE80DAED86"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">PART II: OTHER INFORMATION</span></div><div><a id="s095B071DC7005E4095EF807F0CFDA509"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1. LEGAL PROCEEDINGS</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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><a id="s0A031A42E8A351A2A5EA7339B85A2489"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1A. RISK FACTORS</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div><a id="s413381B7E0895551961439AFD6AB7ACD"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</span></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"></td></tr><tr><td style="width:38%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:11%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:13%;"></td><td style="width:1%;"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Number</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Price&#160;Paid</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">per Share</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total&#160;Number&#160;of</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased as</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Part of Publicly</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Announced</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs (1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Approximate</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Dollar Value</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares that</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">May Yet Be</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Under the</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">July 1 - July 28, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">129,688,000</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">July 29 - August 25, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">129,688,000</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">August 26 - September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">129,688,000</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Total</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">129,688,000</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(1) In October 2018, the Company's Board of Directors authorized the repurchase of $200,000,000 of the Company's common stock. Purchases under this program commenced in October 2018.</span></div><div><a id="s36F39E11510E50B0B33D144D675C068D"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3. DEFAULTS UPON SENIOR SECURITIES</span></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">None.</span></div><div><a id="sF43617930BB551DCA615D5811F8CDECF"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4. MINE SAFETY DISCLOSURES</span></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Not applicable.</span></div><div><a id="s0352C7206324582BB4C1D5CC74F59912"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;5. OTHER INFORMATION</span></div><div style="line-height:120%;padding-top:8px;text-indent:30px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">None.</span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">27</span></div></div><hr style="page-break-after:always"></hr><div><a id="sED21B598AF12501C81FA3A0D586C3AF9"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;-sec-extract:summary;font-size:10pt;"><span style="font-family:Arial;font-size:6pt;">&#160;</span><span style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;6. EXHIBITS</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"></td></tr><tr><td style="width:10%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:88%;"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Exhibit Number</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">31.1</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#000000;-sec-extract:exhibit;" href="a9292019-10qxexhibit311.htm"><span style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Principal Executive Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</span></a></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">31.2</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#000000;-sec-extract:exhibit;" href="a9292019-10qxexhibit312.htm"><span style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Principal Financial Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</span></a></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">32.1</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#000000;-sec-extract:exhibit;" href="a9292019-10qxexhibit321.htm"><span style="font-family:Arial;font-size:10pt;color:#000000;">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**</span></a></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">32.2</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><a style="text-decoration:underline;color:#000000;-sec-extract:exhibit;" href="a9292019-10qxexhibit322.htm"><span style="font-family:Arial;font-size:10pt;color:#000000;">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**</span></a></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">101.SCH</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inline XBRL Taxonomy Extension Schema Document*</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">101.CAL</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document*</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">101.LAB</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inline XBRL Taxonomy Extension Label Linkbase Document*</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">101.PRE</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document*</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">101.DEF</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document*</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">104</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cover Page Interactive Data File (formatted as Inline XBRL with applicable taxonomy extension information contained in Exhibits 101.*)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">*</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Filed herewith</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">**</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Furnished herewith</span></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">28</span></div></div><hr style="page-break-after:always"></hr><div><a id="s9031A80115A25DA3B17432AF9748C983"></a></div><div><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;"><br/></span></div></div><div><br/></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">SIGNATURES</span></div><div style="line-height:120%;padding-top:16px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 style="line-height:120%;font-size:12pt;"><span style="font-family:Arial;font-size:12pt;">&#160;</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:6%;"></td><td style="width:36%;"></td><td style="width:4%;"></td><td style="width:5%;"></td><td style="width:49%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Date:</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">October&#160;28, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">COGNEX CORPORATION</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:5px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">By:</span></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Robert J. Willett</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(Principal Executive Officer)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:20px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">By:</span></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">/s/ Laura A. MacDonald</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Laura A. MacDonald</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vice President and Corporate Controller</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">(Principal Financial and Accounting Officer)</span></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div><br/></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">29</span></div></div>	</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>a9292019-10qxexhibit311.htm
<DESCRIPTION>EXHIBIT 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 1 -->
		<!-- Copyright 2019 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sB5488173868B50D4B7609C757C75A9C0"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 31.1</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:16px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, Robert J. Willett, certify that:</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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:</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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):</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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></td></tr></table><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:6%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:54%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October&#160;28, 2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(Principal Executive Officer)</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>a9292019-10qxexhibit312.htm
<DESCRIPTION>EXHIBIT 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 1 -->
		<!-- Copyright 2019 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s484A31E0B05552A7B4ABA1BF88B9889F"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 31.2</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">CERTIFICATION</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">I, Laura MacDonald, certify that:</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1&#160;&#160;&#160;&#160;I have reviewed this quarterly report on Form 10-Q of Cognex Corporation;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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:</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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;</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(c)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(d)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-left:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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):</font></div><div style="line-height:120%;text-align:justify;font-size:6pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font></div><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(a)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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; and</font></div></td></tr></table><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman; font-size:10pt;"><tr><td style="width:67px;"></td><td></td></tr><tr><td style="vertical-align:top"><div style="line-height:120%;font-size:10pt;padding-left:43px;"><font style="font-family:Arial;font-size:10pt;">(b)</font></div></td><td style="vertical-align:top;"><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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></td></tr></table><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="6"></td></tr><tr><td style="width:7%;"></td><td style="width:32%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:1%;"></td><td style="width:54%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October&#160;28, 2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Laura A. MacDonald</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Laura A. MacDonald</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vice President and Corporate Controller</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(Principal Financial and Accounting Officer)</font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>a9292019-10qxexhibit321.htm
<DESCRIPTION>EXHIBIT 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 1 -->
		<!-- Copyright 2019 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s96825FC1C0F05016A585BC29E2A77BBD"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 32.1*</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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 </font><font style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</font><font style="font-family:Arial;font-size:10pt;">&#32;(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 style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:8%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:4%;"></td><td style="width:53%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October&#160;28, 2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Robert J. Willett</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">President and Chief Executive Officer</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(Principal Executive Officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:4%;"></td><td style="width:96%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>a9292019-10qxexhibit322.htm
<DESCRIPTION>EXHIBIT 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 1 -->
		<!-- Copyright 2019 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sFEEEE707CDF953FB8207925C64456467"></a></div><div><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exhibit 32.2*</font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">CERTIFICATION PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">18 U.S.C. 1350,</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">AS ADOPTED PURSUANT TO</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div style="line-height:120%;padding-top:16px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The undersigned officer of Cognex Corporation (the &#8220;Company&#8221;) hereby certifies to her knowledge that the Company&#8217;s quarterly report on Form 10-Q for the quarterly period ended </font><font style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</font><font style="font-family:Arial;font-size:10pt;">&#32;(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 style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"></td></tr><tr><td style="width:9%;"></td><td style="width:33%;"></td><td style="width:2%;"></td><td style="width:5%;"></td><td style="width:51%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Date:</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">October&#160;28, 2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">By:</font></div></td><td style="vertical-align:top;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">/s/ Laura A. MacDonald</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Laura A. MacDonald</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vice President and Corporate Controller</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(Principal Financial and Accounting Officer)</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;">&#160;</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:inherit;font-size:12pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="2"></td></tr><tr><td style="width:4%;"></td><td style="width:96%;"></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">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></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>cgnx-20190929.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cognex.com/20190929" xmlns:cgnx="http://www.cognex.com/20190929" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:import namespace="http://fasb.org/srt/2018-01-31" schemaLocation="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-types/2018-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2017-01-31" schemaLocation="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/currency/2017-01-31" schemaLocation="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/exch/2018-01-31" schemaLocation="https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/invest/2013-01-31" schemaLocation="http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/naics/2017-01-31" schemaLocation="http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/sic/2011-01-31" schemaLocation="http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2018-01-31" schemaLocation="https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd" />
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20190929_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20190929_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20190929_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple" />
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20190929_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple" />
      <link:roleType id="CashCashEquivalentsAndInvestments" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments">
        <link:definition>2105100 - 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="CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail">
        <link:definition>2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (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="CashCashEquivalentsAndInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail">
        <link:definition>2405402 - Disclosure - Cash, Cash Equivalents, and Investments (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="CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail">
        <link:definition>2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (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="CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail">
        <link:definition>2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (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="CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail">
        <link:definition>2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (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="CashCashEquivalentsAndInvestmentsTables" roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables">
        <link:definition>2305301 - 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="ConsolidatedBalanceSheets" roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets">
        <link:definition>1003000 - 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>1003501 - 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="ConsolidatedStatementOfShareholdersEquity" roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity">
        <link:definition>1005000 - 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>1005501 - 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="ConsolidatedStatementsOfCashFlows" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows">
        <link:definition>1004000 - 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="ConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome">
        <link:definition>1002000 - 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>1002501 - 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="ConsolidatedStatementsOfOperations" roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations">
        <link:definition>1001000 - 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="CoverPage" roleURI="http://www.cognex.com/role/CoverPage">
        <link:definition>0001000 - 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="DerivativeInstruments" roleURI="http://www.cognex.com/role/DerivativeInstruments">
        <link:definition>2112100 - 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="DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail">
        <link:definition>2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (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="DerivativeInstrumentsDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail">
        <link:definition>2412402 - Disclosure - Derivative Instruments (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="DerivativeInstrumentsOffsettingAssetsDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail">
        <link:definition>2412405 - Disclosure - Derivative Instruments - Offsetting Assets (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="DerivativeInstrumentsOutstandingForwardContractsTableDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail">
        <link:definition>2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (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="DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail">
        <link:definition>2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (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="DerivativeInstrumentsTables" roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables">
        <link:definition>2312301 - 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="FairValueMeasurements" roleURI="http://www.cognex.com/role/FairValueMeasurements">
        <link:definition>2104100 - 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="FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail">
        <link:definition>2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (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="FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails">
        <link:definition>2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (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="FairValueMeasurementsTables" roleURI="http://www.cognex.com/role/FairValueMeasurementsTables">
        <link:definition>2304301 - 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="IntangibleAssets" roleURI="http://www.cognex.com/role/IntangibleAssets">
        <link:definition>2110100 - 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="IntangibleAssetsDetails" roleURI="http://www.cognex.com/role/IntangibleAssetsDetails">
        <link:definition>2410402 - 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="IntangibleAssetsDetailsCalc2" roleURI="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2">
        <link:definition>2410402 - 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="IntangibleAssetsTables" roleURI="http://www.cognex.com/role/IntangibleAssetsTables">
        <link:definition>2310301 - 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="Inventories" roleURI="http://www.cognex.com/role/Inventories">
        <link:definition>2106100 - 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="InventoriesScheduleOfInventoriesDetail" roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail">
        <link:definition>2406402 - Disclosure - Inventories - Schedule of Inventories (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="InventoriesTables" roleURI="http://www.cognex.com/role/InventoriesTables">
        <link:definition>2306301 - 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="Leases" roleURI="http://www.cognex.com/role/Leases">
        <link:definition>2109100 - 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="LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails">
        <link:definition>2409403 - 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="LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" roleURI="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails">
        <link:definition>2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (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="LeasesNarrativeDetails" roleURI="http://www.cognex.com/role/LeasesNarrativeDetails">
        <link:definition>2409402 - 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="LeasesTables" roleURI="http://www.cognex.com/role/LeasesTables">
        <link:definition>2309301 - 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="NewPronouncements" roleURI="http://www.cognex.com/role/NewPronouncements">
        <link:definition>2103100 - 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="RevenueRecognition" roleURI="http://www.cognex.com/role/RevenueRecognition">
        <link:definition>2113100 - 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="RevenueRecognitionAdditionalInformationDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails">
        <link:definition>2413404 - 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="RevenueRecognitionDeferredRevenueActivityDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails">
        <link:definition>2413405 - 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="RevenueRecognitionRevenueDisaggregatedByGeographyDetails" roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails">
        <link:definition>2413402 - 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>2413403 - 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="RevenueRecognitionTables" roleURI="http://www.cognex.com/role/RevenueRecognitionTables">
        <link:definition>2313301 - 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="StockBasedCompensationExpense" roleURI="http://www.cognex.com/role/StockBasedCompensationExpense">
        <link:definition>2115100 - 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="StockBasedCompensationExpenseDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail">
        <link:definition>2415402 - Disclosure - Stock-Based Compensation Expense (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="StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail">
        <link:definition>2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (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="StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail">
        <link:definition>2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (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="StockBasedCompensationExpenseTables" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables">
        <link:definition>2315301 - 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="StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail">
        <link:definition>2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (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="StockRepurchaseProgram" roleURI="http://www.cognex.com/role/StockRepurchaseProgram">
        <link:definition>2116100 - 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="StockRepurchaseProgramDetail" roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail">
        <link:definition>2416401 - Disclosure - Stock Repurchase Program (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="SubsequentEvents" roleURI="http://www.cognex.com/role/SubsequentEvents">
        <link:definition>2121100 - 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>2421401 - 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>
      <link:roleType id="SummaryOfSignificantAccountingPolicies" roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies">
        <link:definition>2101100 - 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>2201201 - 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="Taxes" roleURI="http://www.cognex.com/role/Taxes">
        <link:definition>2119100 - Disclosure - 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="TaxesDetail" roleURI="http://www.cognex.com/role/TaxesDetail">
        <link:definition>2419403 - Disclosure - Taxes (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="TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail">
        <link:definition>2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (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="TaxesTables" roleURI="http://www.cognex.com/role/TaxesTables">
        <link:definition>2319301 - Disclosure - Taxes (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="WarrantyObligations" roleURI="http://www.cognex.com/role/WarrantyObligations">
        <link:definition>2111100 - 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="WarrantyObligationsChangesInWarrantyObligationsDetail" roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail">
        <link:definition>2411402 - 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="WarrantyObligationsTables" roleURI="http://www.cognex.com/role/WarrantyObligationsTables">
        <link:definition>2311301 - 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="WeightedAverageShares" roleURI="http://www.cognex.com/role/WeightedAverageShares">
        <link:definition>2120100 - 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="WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail">
        <link:definition>2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (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="WeightedAverageSharesDetail" roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail">
        <link:definition>2420402 - Disclosure - Weighted-Average Shares (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="WeightedAverageSharesTables" roleURI="http://www.cognex.com/role/WeightedAverageSharesTables">
        <link:definition>2320301 - 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>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element abstract="true" id="cgnx_AccruedExpensesMember" name="AccruedExpensesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AgencyBondsMember" name="AgencyBondsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ApplicationSpecificCustomerSolutionsMember" name="ApplicationSpecificCustomerSolutionsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_AsiaExcludingChinaMember" name="AsiaExcludingChinaMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" name="CashCashEquivalentsShortTermAndLongTermInvestments" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_CashflowshedgesAbstract" name="CashflowshedgesAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ChiaroTechnologiesLLCMember" name="ChiaroTechnologiesLLCMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" name="ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_CurrencytranslationadjustmentsAbstract" name="CurrencytranslationadjustmentsAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_CustomerContractsAndRelationshipsMember" name="CustomerContractsAndRelationshipsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" name="DeferredRevenueForeignCurrencyExchangeAdjustment" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017" name="EffectiveIncomeTaxRateReconciliationTaxAct2017" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" name="EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" name="EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" name="EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" nillable="true" substitutionGroup="xbrli:item" type="num:percentItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ExpirationPeriodOfStockOptionPlan" name="ExpirationPeriodOfStockOptionPlan" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_GViVenturesInc.Member" name="GViVenturesInc.Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_GeneralStockOptionPlanMember" name="GeneralStockOptionPlanMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" name="IncomeTaxExaminationYearsUnderExaminationOtherEntities" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncreaseDecreaseInterestAndPenalties" name="IncreaseDecreaseInterestAndPenalties" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" name="IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" name="LesseeOperatingLeaseLiabilityPaymentsDueYearSix" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" name="LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_LiabilityForUncertainTaxPositions" name="LiabilityForUncertainTaxPositions" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_LongTermInvestmentsMember" name="LongTermInvestmentsMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" name="MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_NumberOfGroupsWithinEmployeePopulation" name="NumberOfGroupsWithinEmployeePopulation" nillable="true" substitutionGroup="xbrli:item" type="xbrli:integerItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_OutstandingForwardContractsTableTextBlock" name="OutstandingForwardContractsTableTextBlock" nillable="true" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Paymentofcontingentconsideration" name="Paymentofcontingentconsideration" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_PaymentstoAcquireBusinessesDeferred" name="PaymentstoAcquireBusinessesDeferred" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramOctober2018Member" name="RepurchaseProgramOctober2018Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_SellingGeneralAndAdministrativeMember" name="SellingGeneralAndAdministrativeMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element id="cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element id="cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" name="SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_StandardProductsandServicesMember" name="StandardProductsandServicesMember" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" name="StockRepurchaseProgramAggregateNumberofSharesRepurchased" nillable="true" substitutionGroup="xbrli:item" type="xbrli:sharesItemType" xbrli:periodType="instant" />
  <xsd:element id="cgnx_StockRepurchaseProgramValue" name="StockRepurchaseProgramValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <xsd:element abstract="true" id="cgnx_SualabCo.Ltd.Member" name="SualabCo.Ltd.Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_TaxyearsopentoexaminationbyInternalRevenueService" name="TaxyearsopentoexaminationbyInternalRevenueService" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" name="Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="instant" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>7
<FILENAME>cgnx-20190929_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CoverPage" xlink:href="cgnx-20190929.xsd#CoverPage" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20190929.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20190929.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20190929.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20190929.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2" xlink:href="cgnx-20190929.xsd#IntangibleAssetsDetailsCalc2" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20190929.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20190929.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20190929.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20190929.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Leases" xlink:href="cgnx-20190929.xsd#Leases" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:href="cgnx-20190929.xsd#LeasesNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesTables" xlink:href="cgnx-20190929.xsd#LeasesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20190929.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20190929.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20190929.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20190929.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20190929.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20190929.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20190929.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20190929.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20190929.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20190929.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20190929.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20190929.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20190929.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_8811d2f0-6a26-80c4-4903-e67d2c270254" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_8811d2f0-6a26-80c4-4903-e67d2c270254" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_26692f67-d7fd-f2c2-da44-c5fe8f8327e2" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:to="loc_us-gaap_Cash_26692f67-d7fd-f2c2-da44-c5fe8f8327e2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_473eaddd-9577-2d05-6b0f-1bdb1c862fd0" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_473eaddd-9577-2d05-6b0f-1bdb1c862fd0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_d32a2417-a96e-df92-8909-70df29d31528" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_8811d2f0-6a26-80c4-4903-e67d2c270254" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_d32a2417-a96e-df92-8909-70df29d31528" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_82393af8-00cf-c878-caac-887e4fcb1248" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_8811d2f0-6a26-80c4-4903-e67d2c270254" xlink:to="loc_us-gaap_LongTermInvestments_82393af8-00cf-c878-caac-887e4fcb1248" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_329a232f-6b5a-4dfb-de74-33d6f53aa8f1" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_329a232f-6b5a-4dfb-de74-33d6f53aa8f1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_c33f1211-7603-eae8-f8dc-e67d2be949b1" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_c33f1211-7603-eae8-f8dc-e67d2be949b1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_b92a1e79-ef26-1fda-0a79-e67d2bf7ce81" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_b92a1e79-ef26-1fda-0a79-e67d2bf7ce81" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_a7ad3627-114f-bdcd-59a7-e67d2beb3a06" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_a7ad3627-114f-bdcd-59a7-e67d2beb3a06" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_066a397a-959c-2e52-b1dd-e67d2c083e0d" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_5ab305fa-195a-59cf-c0de-4b5d05fc9de4" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_066a397a-959c-2e52-b1dd-e67d2c083e0d" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_e0f935d0-20e2-15fc-55a1-79c116fbc07c" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_a2b26c5c-64f3-c94e-2a89-4348115e8a52" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_e0f935d0-20e2-15fc-55a1-79c116fbc07c" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_a2b26c5c-64f3-c94e-2a89-4348115e8a52" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_fdcdc5e9-d791-824c-e870-84106782383a" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_e0f935d0-20e2-15fc-55a1-79c116fbc07c" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_fdcdc5e9-d791-824c-e870-84106782383a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_21dbd9b5-9402-9b48-c80f-55c05859049a" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_e991d53f-4f66-a242-d5d9-e6c95927fda6" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_21dbd9b5-9402-9b48-c80f-55c05859049a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_e991d53f-4f66-a242-d5d9-e6c95927fda6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_2ec346ac-a553-2cef-6e17-f2c22a07e160" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_21dbd9b5-9402-9b48-c80f-55c05859049a" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_2ec346ac-a553-2cef-6e17-f2c22a07e160" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f0bf2241-14f8-6ef1-e8d7-f724d52ad9c1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_097e1b01-70b4-1050-9921-ba329e565fb9" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f0bf2241-14f8-6ef1-e8d7-f724d52ad9c1" xlink:to="loc_us-gaap_AvailableForSaleSecurities_097e1b01-70b4-1050-9921-ba329e565fb9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_e0f935d0-20e2-15fc-55a1-79c116fbc07c" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f0bf2241-14f8-6ef1-e8d7-f724d52ad9c1" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_e0f935d0-20e2-15fc-55a1-79c116fbc07c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_5d23fa7e-7f76-6507-b72f-382f81b88e34" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_f0bf2241-14f8-6ef1-e8d7-f724d52ad9c1" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_5d23fa7e-7f76-6507-b72f-382f81b88e34" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_63817d40-f759-fa9c-45a5-8bbbb36ed5c9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_63817d40-f759-fa9c-45a5-8bbbb36ed5c9" xlink:to="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_c2c48170-d0ff-2c37-effc-ff5f53e30dcb" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:to="loc_us-gaap_AccountsPayableCurrent_c2c48170-d0ff-2c37-effc-ff5f53e30dcb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_8422f2c5-408e-d123-b935-f3115e023941" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_8422f2c5-408e-d123-b935-f3115e023941" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_d1997c77-9fc6-cbee-b2e4-9f642058c98e" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_d1997c77-9fc6-cbee-b2e4-9f642058c98e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_abfa2218-3815-6188-2b2d-6577f271cf70" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_abfa2218-3815-6188-2b2d-6577f271cf70" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_09c9f846-159b-1776-fceb-d1cad0eb94ab" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_2dcbbde2-9146-a0ba-7f6c-c71b481e0841" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_09c9f846-159b-1776-fceb-d1cad0eb94ab" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7e28dff2-da63-21d2-137e-ce9d56cb1b6e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_7e28dff2-da63-21d2-137e-ce9d56cb1b6e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_d3ba3006-9df7-8186-2eb2-dc5094562cfe" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_d3ba3006-9df7-8186-2eb2-dc5094562cfe" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_cf3ef1c3-1c9a-2919-ed18-e1de3345a129" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_cf3ef1c3-1c9a-2919-ed18-e1de3345a129" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_c5504f4f-2b8d-c061-3954-298767913451" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_AccruedIncomeTaxes_c5504f4f-2b8d-c061-3954-298767913451" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_bba08e5f-78e8-6c25-01a4-6720051135cc" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Liabilities_066608da-f041-4af6-3da0-95354b640e11" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_bba08e5f-78e8-6c25-01a4-6720051135cc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_63817d40-f759-fa9c-45a5-8bbbb36ed5c9" xlink:to="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_55fda19b-3ba6-61b5-220d-6f7ed397180a" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:to="loc_us-gaap_CommonStockValueOutstanding_55fda19b-3ba6-61b5-220d-6f7ed397180a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_df284507-8ac7-eed1-41db-05e81b70be6d" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_df284507-8ac7-eed1-41db-05e81b70be6d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_a59bc5ae-63a0-c9bc-32f7-e2bd9f32bd26" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_a59bc5ae-63a0-c9bc-32f7-e2bd9f32bd26" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_798442bf-12e1-d944-3fa1-8b797b67482e" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_6765f135-8c69-bebc-a116-d59a52a5b2f2" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_798442bf-12e1-d944-3fa1-8b797b67482e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_32f41ea9-05c6-e713-464b-586a571d1c1f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_d32a2417-a96e-df92-8909-70df29d31528" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_d32a2417-a96e-df92-8909-70df29d31528" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_928a1618-af56-709a-989c-a303706b8ca2" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_928a1618-af56-709a-989c-a303706b8ca2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_ecc5021c-19ea-d6df-450c-2c87b2ebe1e7" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_ecc5021c-19ea-d6df-450c-2c87b2ebe1e7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_66bcd79a-a1c3-c24d-b8b4-7a0ce373714b" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_InventoryNet_66bcd79a-a1c3-c24d-b8b4-7a0ce373714b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ce9014ac-0ac4-6ed2-b53f-a0edc046d6b4" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d79dcc1c-93de-0ecd-2bd5-7c1f224c9b98" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_ce9014ac-0ac4-6ed2-b53f-a0edc046d6b4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_82393af8-00cf-c878-caac-887e4fcb1248" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_LongTermInvestments_82393af8-00cf-c878-caac-887e4fcb1248" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_f37ad080-c77a-efc5-c936-389b16abc420" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_f37ad080-c77a-efc5-c936-389b16abc420" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_52f5671e-53e6-6055-795e-6bd414fd86c2" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_52f5671e-53e6-6055-795e-6bd414fd86c2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_831ad0b9-9dba-3997-20e6-e99a19aa28db" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_Goodwill_831ad0b9-9dba-3997-20e6-e99a19aa28db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d3bdc20c-5c58-6be6-d756-0ace6a97f212" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_d3bdc20c-5c58-6be6-d756-0ace6a97f212" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6ef07cd6-1898-c9c0-4e60-ee328fe006a8" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6ef07cd6-1898-c9c0-4e60-ee328fe006a8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_ddb0d184-2205-2a10-5b0e-faf2ccd717ae" xlink:type="locator" />
    <link:calculationArc order="8" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_96dd7052-744e-d270-4e77-67944ec39152" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_ddb0d184-2205-2a10-5b0e-faf2ccd717ae" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_14C2002BBD4152ACB2BDCB5AFEA388BD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_14C2002BBD4152ACB2BDCB5AFEA388BD" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_28F6024081CF5C98919CCD96AC934DF7" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_NetIncomeLoss_28F6024081CF5C98919CCD96AC934DF7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_16FA895940B3522DAAA2E5BF4FD283D8" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_StockOptionPlanExpense_16FA895940B3522DAAA2E5BF4FD283D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_A23819830ECE5D5D90DAF43E33651822" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_Depreciation_A23819830ECE5D5D90DAF43E33651822" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_D55432C9A14354A69C91986B8E936C15" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_D55432C9A14354A69C91986B8E936C15" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_79E8B74E641C52398D9A76A76C8EEC62" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_79E8B74E641C52398D9A76A76C8EEC62" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_06529D3463265FFABB9266B4933C536C" xlink:type="locator" />
    <link:calculationArc order="6" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_06529D3463265FFABB9266B4933C536C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2779E4184E425FD1AE2C3FC24DB36620" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_2779E4184E425FD1AE2C3FC24DB36620" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_9AFFA8AF2A48523FA5242864F8DD7118" xlink:type="locator" />
    <link:calculationArc order="8" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_9AFFA8AF2A48523FA5242864F8DD7118" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_E74A5D52B9295C2CABF1D48EBBE68779" xlink:type="locator" />
    <link:calculationArc order="9" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_E74A5D52B9295C2CABF1D48EBBE68779" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_46D59A470B5F5CB39C5D1334BA95FB47" xlink:type="locator" />
    <link:calculationArc order="10" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_46D59A470B5F5CB39C5D1334BA95FB47" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_7E55B420640753D8AFEE7F85D4F7FB61" xlink:type="locator" />
    <link:calculationArc order="11" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_7E55B420640753D8AFEE7F85D4F7FB61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_473323DBEC8851339EBAA6DD5FE6CD27" xlink:type="locator" />
    <link:calculationArc order="12" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_473323DBEC8851339EBAA6DD5FE6CD27" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_70723255E903524B9B519DE0D57BB906" xlink:type="locator" />
    <link:calculationArc order="13" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_70723255E903524B9B519DE0D57BB906" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_7A1EED7B2C3E5A73A0CE9178F0C595E8" xlink:type="locator" />
    <link:calculationArc order="14" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_7A1EED7B2C3E5A73A0CE9178F0C595E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_323B5369458854BDAD7A9CC8C2210E91" xlink:type="locator" />
    <link:calculationArc order="15" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_323B5369458854BDAD7A9CC8C2210E91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_E7B7DC286DE05E3892A7B77ACD91D375" xlink:type="locator" />
    <link:calculationArc order="16" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_E7B7DC286DE05E3892A7B77ACD91D375" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_59F519A5D1495ED2AB4DF4B0037DAB35" xlink:type="locator" />
    <link:calculationArc order="17" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_20AD5A3CF8A3514B8EBEECB40DA1B496" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_59F519A5D1495ED2AB4DF4B0037DAB35" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_91E0E5EF8F1A59F188801A90A2EC6D38" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_14C2002BBD4152ACB2BDCB5AFEA388BD" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_91E0E5EF8F1A59F188801A90A2EC6D38" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_47E60F8FC04B5E94AB886D34E780923B" xlink:type="locator" />
    <link:calculationArc order="1" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_91E0E5EF8F1A59F188801A90A2EC6D38" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_47E60F8FC04B5E94AB886D34E780923B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_C422A101BA7D540F874288CBBF5E093B" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_91E0E5EF8F1A59F188801A90A2EC6D38" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_C422A101BA7D540F874288CBBF5E093B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_5FE0C90E7B9456CD80AF1D88DB14B158" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_91E0E5EF8F1A59F188801A90A2EC6D38" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_5FE0C90E7B9456CD80AF1D88DB14B158" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_14C2002BBD4152ACB2BDCB5AFEA388BD" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_60D0B27359CB525A884F98FC5C7A6E6A" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_60D0B27359CB525A884F98FC5C7A6E6A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F3311195656F5B16ACA915E52366BD77" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_F3311195656F5B16ACA915E52366BD77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_9390CA9D17855CC0BDE1CC312087927B" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_9390CA9D17855CC0BDE1CC312087927B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_8702C11F62E45E55BCB9FD30CF5FAD1E" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_A976B6239EEB58D582FD171CA10FC9AE" xlink:to="loc_cgnx_Paymentofcontingentconsideration_8702C11F62E45E55BCB9FD30CF5FAD1E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_3EF29363B6045946AC28C7A5B7C5880D" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_14C2002BBD4152ACB2BDCB5AFEA388BD" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_3EF29363B6045946AC28C7A5B7C5880D" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_cf605d39-9067-2f07-a6b5-7dfa6481009e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_a10eea14-f4db-3125-d183-77bb54500e95" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_cf605d39-9067-2f07-a6b5-7dfa6481009e" xlink:to="loc_us-gaap_NetIncomeLoss_a10eea14-f4db-3125-d183-77bb54500e95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_59645a08-ce25-9000-2f65-e4bfddb1182e" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_cf605d39-9067-2f07-a6b5-7dfa6481009e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_59645a08-ce25-9000-2f65-e4bfddb1182e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_c7333cca-378d-a6fc-ae13-b512babfcdeb" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_59645a08-ce25-9000-2f65-e4bfddb1182e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_c7333cca-378d-a6fc-ae13-b512babfcdeb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_6df44786-4260-4fa4-e123-591abd5e882d" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_c7333cca-378d-a6fc-ae13-b512babfcdeb" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_6df44786-4260-4fa4-e123-591abd5e882d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5018ac42-f22a-8f01-2030-b43a520a4ea1" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_c7333cca-378d-a6fc-ae13-b512babfcdeb" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5018ac42-f22a-8f01-2030-b43a520a4ea1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_b087c8bb-e0f6-4c7f-883c-027f52d32745" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_59645a08-ce25-9000-2f65-e4bfddb1182e" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_b087c8bb-e0f6-4c7f-883c-027f52d32745" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_28F6024081CF5C98919CCD96AC934DF7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_28F6024081CF5C98919CCD96AC934DF7" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_A490AB537C3957BC9FC05F0D05242AD9" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:to="loc_us-gaap_OperatingIncomeLoss_A490AB537C3957BC9FC05F0D05242AD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_05313FB7CFA255EF80DA1B2086FE6DD5" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_A490AB537C3957BC9FC05F0D05242AD9" xlink:to="loc_us-gaap_GrossProfit_05313FB7CFA255EF80DA1B2086FE6DD5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_9F87E426B8675784AB316F9EF498DFE4" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_05313FB7CFA255EF80DA1B2086FE6DD5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_9F87E426B8675784AB316F9EF498DFE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_D1DAD62D359351E1AF779F82D885C138" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_05313FB7CFA255EF80DA1B2086FE6DD5" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_D1DAD62D359351E1AF779F82D885C138" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_F5138589F2D25EE386CDC07637B2A4C1" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_A490AB537C3957BC9FC05F0D05242AD9" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_F5138589F2D25EE386CDC07637B2A4C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E96DD88C3A3054449D1DB858AC26DC60" xlink:type="locator" />
    <link:calculationArc order="3" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_A490AB537C3957BC9FC05F0D05242AD9" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_E96DD88C3A3054449D1DB858AC26DC60" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_47A8283A4AD6593C9F314BC1320B8583" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_47A8283A4AD6593C9F314BC1320B8583" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_CB138BB604135520B3DD6D2F67FF6870" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_CB138BB604135520B3DD6D2F67FF6870" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_85900768B961580BAFF6F3BB10085DFB" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_25D1785BA7EB534C87DD713A3ADF5439" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_85900768B961580BAFF6F3BB10085DFB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_AC7DB2F65FF8510589AD51A53C8663D7" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_28F6024081CF5C98919CCD96AC934DF7" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_AC7DB2F65FF8510589AD51A53C8663D7" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/CoverPage" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_EB0BEB04E3005D2B9042B8DB721AD9F8" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_199112EEF13F5347B28BC73B9E018D6E" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_EB0BEB04E3005D2B9042B8DB721AD9F8" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_199112EEF13F5347B28BC73B9E018D6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C68223F5ABC356FABB6DF790C8306C18" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeAssets_EB0BEB04E3005D2B9042B8DB721AD9F8" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_C68223F5ABC356FABB6DF790C8306C18" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_CEFDF5F5C90F58C18CC3E752F1E2C24C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_B840DCC2230750EF8A86EB6606538AD9" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_CEFDF5F5C90F58C18CC3E752F1E2C24C" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_B840DCC2230750EF8A86EB6606538AD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_3F62B58E43CC54D0A76B5C95495A78DA" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_DerivativeLiabilities_CEFDF5F5C90F58C18CC3E752F1E2C24C" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_3F62B58E43CC54D0A76B5C95495A78DA" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7F288867285359C199612A2A61C49978" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_526B45AE2D1759188DA34E44CFE3D904" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_526B45AE2D1759188DA34E44CFE3D904" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_58B4D60DD3C659A7B878E72C82E7A781" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_58B4D60DD3C659A7B878E72C82E7A781" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9D32799A69E6796DEC41F68732B23519_F3287602C65556B4A616D7B731E1D1F4" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9D32799A69E6796DEC41F68732B23519_F3287602C65556B4A616D7B731E1D1F4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_9D32799A69E6796DEC41F68732B23519_1A2CE3376FAD5C819263CE0502B0475C" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_9D32799A69E6796DEC41F68732B23519_1A2CE3376FAD5C819263CE0502B0475C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_9D32799A69E6796DEC41F68732B23519_22A72244CDFC5E87A9701FEE62374674" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_9D32799A69E6796DEC41F68732B23519_22A72244CDFC5E87A9701FEE62374674" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_9D32799A69E6796DEC41F68732B23519_50F257B475ED5605B3BCDC399F1E6DB3" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_9D32799A69E6796DEC41F68732B23519_50F257B475ED5605B3BCDC399F1E6DB3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_9D32799A69E6796DEC41F68732B23519_74C8441CB5525D0D95C18350E4756D24" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_9D32799A69E6796DEC41F68732B23519_74C8441CB5525D0D95C18350E4756D24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_9D32799A69E6796DEC41F68732B23519_756EF53218F4576BAAE14BE984C3FA24" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_9D32799A69E6796DEC41F68732B23519_756EF53218F4576BAAE14BE984C3FA24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_9D32799A69E6796DEC41F68732B23519_6EBE2DF82CA75FF8B26E067E0A488267" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_9D32799A69E6796DEC41F68732B23519_7F288867285359C199612A2A61C49978" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_9D32799A69E6796DEC41F68732B23519_6EBE2DF82CA75FF8B26E067E0A488267" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_9CF998FB094950DF8967D6EFEFED6D80" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_5CEB1A2BB2B45C76B1E3411C62C34963" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_9CF998FB094950DF8967D6EFEFED6D80" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_5CEB1A2BB2B45C76B1E3411C62C34963" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B2FB4699CDFB5115AB6FE64C34368C93" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_9CF998FB094950DF8967D6EFEFED6D80" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B2FB4699CDFB5115AB6FE64C34368C93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_EAD69051C7FA564CA3B7DE2347763373" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_InventoryNet_9CF998FB094950DF8967D6EFEFED6D80" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_EAD69051C7FA564CA3B7DE2347763373" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/Leases" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_9B8299EC338C5F9A84A4A14635A08501" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_9B8299EC338C5F9A84A4A14635A08501" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_A945DFC375765BF4A2ABBF0F47A3F8D7" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_A945DFC375765BF4A2ABBF0F47A3F8D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_50FD1B2C3BC159A5A646EA976297ECE3" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_50FD1B2C3BC159A5A646EA976297ECE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_BB963AD5923A51A39F7A3B6F68CDB1A2" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_BB963AD5923A51A39F7A3B6F68CDB1A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_9CD6B249B3975CF7AAD8E2B627286008" xlink:type="locator" />
    <link:calculationArc order="5" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_9CD6B249B3975CF7AAD8E2B627286008" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_996E7E226D235DA9855CD98FC2DC953D" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_996E7E226D235DA9855CD98FC2DC953D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_ED551FE319115CB7822FD36D153BFE0A" xlink:type="locator" />
    <link:calculationArc order="7" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_8B7622E93BA05183B211338D596B8258" xlink:to="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_ED551FE319115CB7822FD36D153BFE0A" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FAD77AE615DF51018798B0315EE0BB59" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_16192AAC8AD15270A94FC25467A78BF3" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FAD77AE615DF51018798B0315EE0BB59" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_16192AAC8AD15270A94FC25467A78BF3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_C3104963C72B52F59D14E1B6681CD5D0" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FAD77AE615DF51018798B0315EE0BB59" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_C3104963C72B52F59D14E1B6681CD5D0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_D99556A0FAEA5BD1A6BA644A33C21681" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FAD77AE615DF51018798B0315EE0BB59" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_D99556A0FAEA5BD1A6BA644A33C21681" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_3A52D0E595AA57938A7F045C5DA7A856" xlink:type="locator" />
    <link:calculationArc order="4" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FAD77AE615DF51018798B0315EE0BB59" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_3A52D0E595AA57938A7F045C5DA7A856" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/LeasesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_51d18bf0-0823-2940-9470-e9bbca486da6" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_51d18bf0-0823-2940-9470-e9bbca486da6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_d23dd313-f50b-59fa-fd80-0dbe24277535" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_d23dd313-f50b-59fa-fd80-0dbe24277535" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_2159a283-2879-8644-198d-34cde06e5374" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_2159a283-2879-8644-198d-34cde06e5374" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_928f8c54-624a-8542-b4e3-59da2a4e6af6" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_928f8c54-624a-8542-b4e3-59da2a4e6af6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_8e08d6c7-adb5-6628-1188-bc862e7830ff" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_8e08d6c7-adb5-6628-1188-bc862e7830ff" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_00f37689-1982-1c68-c80b-43003f810247" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_00f37689-1982-1c68-c80b-43003f810247" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_7ffe16d1-cedd-985f-c95d-65ae6fa8d756" xlink:type="locator" />
    <link:calculationArc order="7" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_7ffe16d1-cedd-985f-c95d-65ae6fa8d756" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_44b73d4d-2b6c-0ef3-c6f8-e67d2bfdbd33" xlink:type="locator" />
    <link:calculationArc order="8" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_f1b8c80c-fe31-3624-3b0a-70273297561e" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_44b73d4d-2b6c-0ef3-c6f8-e67d2bfdbd33" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_21ce4f2f-397c-6c02-8635-7c94146a06a0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2dd9a981-e559-d141-f1c2-4db79f71a7ef" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_21ce4f2f-397c-6c02-8635-7c94146a06a0" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_2dd9a981-e559-d141-f1c2-4db79f71a7ef" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_d342f32b-4cc6-0bef-3743-616005090121" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_21ce4f2f-397c-6c02-8635-7c94146a06a0" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_d342f32b-4cc6-0bef-3743-616005090121" xlink:type="arc" />
  </link:calculationLink>
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended" />
  <link:calculationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>8
<FILENAME>cgnx-20190929_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CoverPage" xlink:href="cgnx-20190929.xsd#CoverPage" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20190929.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20190929.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20190929.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20190929.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20190929.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20190929.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20190929.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20190929.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Leases" xlink:href="cgnx-20190929.xsd#Leases" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:href="cgnx-20190929.xsd#LeasesNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesTables" xlink:href="cgnx-20190929.xsd#LeasesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20190929.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20190929.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20190929.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20190929.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20190929.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20190929.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20190929.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20190929.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20190929.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20190929.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20190929.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20190929.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20190929.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:to="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtMember" xlink:label="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:to="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_87C997D82E72C480608AEF10F64FFAEB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_87C997D82E72C480608AEF10F64FFAEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_9E329FEB8E475D206E49EF10F64F0E24" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_9E329FEB8E475D206E49EF10F64F0E24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_60D9D6AFC40FF3CD5186EF10F64FDDBE" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_60D9D6AFC40FF3CD5186EF10F64FDDBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_AEBC538F63A00BA963F4EF10F64F84EB" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_AEBC538F63A00BA963F4EF10F64F84EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_27DBE221EF2EBC8BAE39EF10F64F68EC" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_cgnx_AgencyBondsMember_27DBE221EF2EBC8BAE39EF10F64F68EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_E1108AF61FD7FE8C0CF9EF10F650FE83" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_MunicipalBondsMember_E1108AF61FD7FE8C0CF9EF10F650FE83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:to="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_AAB37B92602BAF4402DDB21F887DFF59" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_AAB37B92602BAF4402DDB21F887DFF59" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_5DE6E69786778BD80871B21F887D58B4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_cgnx_AgencyBondsMember_5DE6E69786778BD80871B21F887D58B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_F3E934D5910C83AA702CB21F887DEA0A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_F3E934D5910C83AA702CB21F887DEA0A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_9D4941D0990370E1D09AB21F887DBDCA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_9D4941D0990370E1D09AB21F887DBDCA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_93FE157588D648F3FD94B21F887ECA0B" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_93FE157588D648F3FD94B21F887ECA0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_E1219D0F4B3EADAE50C2B21F887EAE4B" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_MunicipalBondsMember_E1219D0F4B3EADAE50C2B21F887EAE4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:to="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_523B3B88443B7D99FD90B21D4EFBCADA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_cgnx_AgencyBondsMember_523B3B88443B7D99FD90B21D4EFBCADA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_B9C1E119B3B2C891773BB21D4EFBE71B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_B9C1E119B3B2C891773BB21D4EFBE71B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_E0349B9194FF5DCDBB57B21D4EFCC2F7" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_E0349B9194FF5DCDBB57B21D4EFCC2F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_856CE311C185E020BFD9B21D4EFC2B71" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_856CE311C185E020BFD9B21D4EFC2B71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_62A60B0B9932E79B4315B21D4EFCBE4A" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_62A60B0B9932E79B4315B21D4EFCBE4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_7B739C82823EBFEAED06B21D4F010B90" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_MunicipalBondsMember_7B739C82823EBFEAED06B21D4F010B90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:to="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:to="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:to="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:to="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:to="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/CoverPage" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A2018F658162B89ED08E05594B55012C_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:to="loc_us-gaap_HedgingDesignationDomain_A2018F658162B89ED08E05594B55012C_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:to="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:to="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_EEADA832525F4C6BA55805594B5653F8_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_EEADA832525F4C6BA55805594B5653F8_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:to="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_A472449E770CBEF9E9690558BBCFA683_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:to="loc_us-gaap_HedgingDesignationDomain_A472449E770CBEF9E9690558BBCFA683_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:to="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_A8C7975AF13B507BABB471D77F80D857" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:to="loc_us-gaap_NondesignatedMember_A8C7975AF13B507BABB471D77F80D857" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:to="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:to="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:to="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_86BDD59EE5B33C647F85EEE51D21CAE3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:to="loc_us-gaap_NondesignatedMember_86BDD59EE5B33C647F85EEE51D21CAE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_CurrencyAxis" xlink:label="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:to="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:to="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_EUR" xlink:label="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_MXN" xlink:label="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_97B6A4338880F8737C6CE67D63422271_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:to="loc_us-gaap_HedgingDesignationDomain_97B6A4338880F8737C6CE67D63422271_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:to="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_530355638974586B95676599AB8084C0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:to="loc_us-gaap_NondesignatedMember_530355638974586B95676599AB8084C0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_A4F94B9BEC344AB9408CE67D634237FE_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_A4F94B9BEC344AB9408CE67D634237FE_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:to="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D1983654EA12B36A91A8E687A5A7499C_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D1983654EA12B36A91A8E687A5A7499C_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_F09B937E613CC4F9C3DAE687A5A99CCC_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_F09B937E613CC4F9C3DAE687A5A99CCC_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ABF404068311EE373019E687A5A9069D_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ABF404068311EE373019E687A5A9069D_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_36A510DD56EB5212807BD7FA36DA1184" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_36A510DD56EB5212807BD7FA36DA1184" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1D2C212E857658AABC6208B0C11FD1A8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1D2C212E857658AABC6208B0C11FD1A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_C942B592C70955D5A3DA645AAA88FDF5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_C942B592C70955D5A3DA645AAA88FDF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_240DB0ACA26C517D8D803A7A9AD07A28" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_240DB0ACA26C517D8D803A7A9AD07A28" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_0A6929F3E97552D58170545B43220B48" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_cgnx_AgencyBondsMember_0A6929F3E97552D58170545B43220B48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_65EBC746863E53DDBB0DDFF0D2CDEFDC" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_MunicipalBondsMember_65EBC746863E53DDBB0DDFF0D2CDEFDC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C9FF2B54369B5E6EAD1F629DF48B11A1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C9FF2B54369B5E6EAD1F629DF48B11A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_8955C08CB78665B56AD3F66CD67754B3_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_8955C08CB78665B56AD3F66CD67754B3_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:to="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D4A8936595849DD29983F66CD678B041_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D4A8936595849DD29983F66CD678B041_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_962D823FC42E57C285A6B6B972937EA2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_962D823FC42E57C285A6B6B972937EA2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_51F728EEE41F9E531207F66CD679E0AB_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_51F728EEE41F9E531207F66CD679E0AB_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_F3095F084700599295EB428CD26484B0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_F3095F084700599295EB428CD26484B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_A6C4C488CCBA7141DC6DF68732B65B1B_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_A6C4C488CCBA7141DC6DF68732B65B1B_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/Leases" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/LeasesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:to="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:to="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:to="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_AmericasMember" xlink:label="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:to="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_5BCE3571FE8B06AD8679E67D6401BEB4_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:to="loc_srt_ProductsAndServicesDomain_5BCE3571FE8B06AD8679E67D6401BEB4_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:to="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:to="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_72830E6CCB8258E094710C348700FC96" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_72830E6CCB8258E094710C348700FC96" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:to="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:to="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:to="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:to="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:to="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:to="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:to="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_3B3273F3A4E769C2F2F4FB1E935E85A6" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_3B3273F3A4E769C2F2F4FB1E935E85A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="locator" />
    <link:definitionArc order="17" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_E21B44CB66E650FE4910E67D62832731_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_E21B44CB66E650FE4910E67D62832731_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_40DA32BA54AB5C738911276C2CE2A313" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_40DA32BA54AB5C738911276C2CE2A313" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_RepurchaseProgramOctober2018Member" xlink:label="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:to="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SualabCo.Ltd.Member" xlink:label="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:to="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:to="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_PaymentstoAcquireBusinessesDeferred" xlink:label="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_7E1ED6A365370E94BC1405562DA3CEDD_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:to="loc_us-gaap_TypeOfAdoptionMember_7E1ED6A365370E94BC1405562DA3CEDD_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:to="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_E0F9A7C9C83FFD99BECC05562DA39210_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_E0F9A7C9C83FFD99BECC05562DA39210_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:to="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:to="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_01F6BBB8451998AB222C05562DA40C33_EC0C83C97B965732B811BF9D3304A89A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_01F6BBB8451998AB222C05562DA40C33_EC0C83C97B965732B811BF9D3304A89A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_0684C4D44BCC5A148E16352EF63EEB2A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_0684C4D44BCC5A148E16352EF63EEB2A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended" />
  <link:definitionLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>9
<FILENAME>cgnx-20190929_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_3A20FE71889347FC83A105594B549158_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_2A412AAFA6A23F23832005594B54F14D_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_2A412AAFA6A23F23832005594B54F14D_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationAxis_770263D585EC8456858005594B548C39_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationAxis_770263D585EC8456858005594B548C39_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:to="lab_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationDomain_A2018F658162B89ED08E05594B55012C_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:label id="lab_us-gaap_HedgingDesignationDomain_A2018F658162B89ED08E05594B55012C_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:to="lab_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NondesignatedMember_A2356456D04A9332211305594B55CF1F_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_NondesignatedMember_A2356456D04A9332211305594B55CF1F_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Not Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:to="lab_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_16DAD7897EA7C58419B005594B55C366_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_16DAD7897EA7C58419B005594B55C366_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:to="lab_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_EEADA832525F4C6BA55805594B5653F8_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_EEADA832525F4C6BA55805594B5653F8_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:to="lab_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_6D9185585F328D5B9A6605594B566224_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, Development, and Engineering Expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_6D9185585F328D5B9A6605594B566224_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_BD7AF6CFBCE46C69700805594B56E4AD_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Currency Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_BD7AF6CFBCE46C69700805594B56E4AD_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Gain (Loss) [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:to="lab_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_A54AF9292119C41D3DFB05594B56BCD3_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_A54AF9292119C41D3DFB05594B56BCD3_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_E769048E9EFA487D0A4005594B56D65D_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recognized in current operations</link:label>
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_E769048E9EFA487D0A4005594B56D65D_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Gain (Loss) on Derivative, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_B3AE9F8071870FF0C3A2E67D61AA56F9_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:to="lab_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:type="arc" />
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_730106E0D2A553090527E67D61ABF4B6_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_730106E0D2A553090527E67D61ABF4B6_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_EF0B4610ACF38D75756FE67D63CCB78A_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disclosure of Compensation Related Costs, Share-based Payments [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_DF7661D96D3416208B18E67D63CDC7F3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares (in thousands)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_DF7661D96D3416208B18E67D63CDC7F3_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1556082EA73BD4A3C183E67D63CDCAEE_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_1556082EA73BD4A3C183E67D63CDCAEE_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_07E74B09795CE8493EF5E67D63CD4EC2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_07E74B09795CE8493EF5E67D63CD4EC2_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_27F30F91687E0E1C47FBE67D63CDD34D_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Exercised, shares</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_27F30F91687E0E1C47FBE67D63CDD34D_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_842D4A257BDE1233F5CFE67D63CE44E8_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_842D4A257BDE1233F5CFE67D63CE44E8_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_68391C11CDA66D0971D3E67D63CE29D7_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F00E980FB9457CC829E0E67D63CEA1F2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F00E980FB9457CC829E0E67D63CEA1F2_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_29015CCA6244B0282DC5E67D63CE2157_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest as of reporting date, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_29015CCA6244B0282DC5E67D63CE2157_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_9C0326EC156E0D5CACEAE67D63CEA1A3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Exercise Price</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_9C0326EC156E0D5CACEAE67D63CEA1A3_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4AB3329D2EBEDD9C3E87E67D63CF4A9E_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_4AB3329D2EBEDD9C3E87E67D63CF4A9E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_0CADE40E42B7E07AC8FDE67D63CF30F5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_0CADE40E42B7E07AC8FDE67D63CF30F5_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_7DFE00F0E40A41070DA6E67D63CF5D92_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercised, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_7DFE00F0E40A41070DA6E67D63CF5D92_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_4E54E45C38B0E2AC18BEE67D63CF517D_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_4E54E45C38B0E2AC18BEE67D63CF517D_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_3F4A5FA718D24825A94FE67D63CF2E13_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Outstanding, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_10D341BAB4AB49397598E67D63D08790_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_10D341BAB4AB49397598E67D63D08790_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6E2E635C66B4F1D5A781E67D63D0B564_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Remaining Contractual Term (in years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_6E2E635C66B4F1D5A781E67D63D0B564_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_7A6B3851E0AF5B4CBFAEE67D63D08008_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted- Average Remaining Contractual Term (in years)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_7A6B3851E0AF5B4CBFAEE67D63D08008_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_58825D8DF471E42CF66BE67D63D0C979_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_58825D8DF471E42CF66BE67D63D0C979_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_4878E0C18F716CA26E84E67D63D07987_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_4878E0C18F716CA26E84E67D63D07987_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_EBB193EA67EE00BF979FE67D63D17B2E_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, in years</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_EBB193EA67EE00BF979FE67D63D17B2E_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_8A00543C457A2C6F8E9FE67D63D1B3E6_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Aggregate Intrinsic Value (in thousands)</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_8A00543C457A2C6F8E9FE67D63D1B3E6_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_8A00543C457A2C6F8E9FE67D63D1B3E6_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_32D0611DD32F0F07FD19E67D63D1E354_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_32D0611DD32F0F07FD19E67D63D1E354_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_480D12016D1707825D79E67D63D17479_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Exercisable, in dollars</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_480D12016D1707825D79E67D63D17479_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_480D12016D1707825D79E67D63D17479_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_E4074A34DA7A35CE785EE67D63D1888B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Options vested or expected to vest, in dollars</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_E4074A34DA7A35CE785EE67D63D1888B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:to="lab_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="lab_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:to="lab_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="arc" />
    <link:label id="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19_terseLabel_en-US" xlink:label="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sualab Co., Ltd.</link:label>
    <link:label id="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19_label_en-US" xlink:label="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sualab Co., Ltd. [Member]</link:label>
    <link:label id="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19_documentation_en-US" xlink:label="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Sualab Co., Ltd. [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SualabCo.Ltd.Member" xlink:label="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:to="lab_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:to="lab_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event Type [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:to="lab_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event</link:label>
    <link:label id="lab_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:to="lab_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Event [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="lab_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Consideration transferred</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Consideration Transferred</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:to="lab_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash payments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="arc" />
    <link:label id="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3_terseLabel_en-US" xlink:label="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred payments</link:label>
    <link:label id="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3_label_en-US" xlink:label="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Deferred</link:label>
    <link:label id="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3_documentation_en-US" xlink:label="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Deferred</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_PaymentstoAcquireBusinessesDeferred" xlink:label="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:to="lab_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3_terseLabel_en-US" xlink:label="lab_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3_label_en-US" xlink:label="lab_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:to="lab_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846_terseLabel_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends payable, date payable</link:label>
    <link:label id="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846_label_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date to be Paid</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:to="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Dividends payable, date of record</link:label>
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C_label_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends Payable, Date of Record</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:to="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_0B92F303CCCCFAEC86EDE67D63F44FCE_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Comprehensive Income [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_031CE066D60CA57C54A2E67D63F4148D_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect on cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_031CE066D60CA57C54A2E67D63F4148D_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_401C45468B418A15EA31E67D63F56122_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of unrealized gain (loss) on available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_401C45468B418A15EA31E67D63F56122_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_B234FCADCD95FC749DB3E67D63F58008_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax effect of foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_B234FCADCD95FC749DB3E67D63F58008_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Translation Gain (Loss) Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_3246DFCE99813024DCC5E67D631094A1_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_385DC5AA5408DA81F848E67D6311B5E3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Intangible Assets</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_385DC5AA5408DA81F848E67D6311B5E3_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9375DE7F4852B497C32DE67D631164CB_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Intangible Assets, Future Amortization Expense</link:label>
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_9375DE7F4852B497C32DE67D631164CB_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_28ABE3F40D1B4608D915E67D63E83506_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:to="lab_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_AFF9EF70F75455E83206E67D63E8AF94_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Calculation of Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_AFF9EF70F75455E83206E67D63E8AF94_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Weighted Average Number of Shares [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256_terseLabel_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:label id="lab_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256_label_en-US" xlink:label="lab_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financial Instrument [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:to="lab_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="arc" />
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3_terseLabel_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:label id="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3_label_en-US" xlink:label="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Financial Instruments [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="lab_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="arc" />
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Treasury Bills</link:label>
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">US Treasury Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:to="lab_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="arc" />
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Corporate Bonds</link:label>
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Corporate Bond Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Asset-Backed Securities</link:label>
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asset-backed Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="arc" />
    <link:label id="lab_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sovereign Debt [Member]</link:label>
    <link:label id="lab_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5_label_en-US" xlink:label="lab_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sovereign Debt [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtMember" xlink:label="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:to="lab_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="arc" />
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Sovereign Bonds</link:label>
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463_label_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sovereign Debt Securities [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:to="lab_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="arc" />
    <link:label id="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Agency Bonds</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32_label_en-US" xlink:label="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Agency Bonds [Member]</link:label>
    <link:label id="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Agency bond.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:to="lab_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="arc" />
    <link:label id="lab_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Municipal Bonds</link:label>
    <link:label id="lab_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F_label_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Municipal Bonds [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:to="lab_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:type="arc" />
    <link:label id="lab_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D_terseLabel_en-US" xlink:label="lab_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:label id="lab_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D_label_en-US" xlink:label="lab_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:to="lab_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="arc" />
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Money market instruments</link:label>
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-term investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="arc" />
    <link:label id="lab_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-current investments</link:label>
    <link:label id="lab_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881_label_en-US" xlink:label="lab_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long-term Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:to="lab_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="arc" />
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43_totalLabel_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43_label_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Cash Equivalents Short Term And Long Term Investments</link:label>
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43_documentation_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash, cash equivalents, short term and long term investments.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:to="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="arc" />
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_B20EC95E73C4E2419C48E67D63A9BF24_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_654FA15FD299A06F2910E67D63A9BEDD_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_654FA15FD299A06F2910E67D63A9BEDD_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements and Changes in Accounting Principles [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="lab_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="lab_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Receivable, Net, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4_label_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unbilled Receivables, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F_label_en-US" xlink:label="lab_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:to="lab_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expense and Other Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:to="lab_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Property, plant, and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E_label_en-US" xlink:label="lab_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:to="lab_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:to="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Assets, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:to="lab_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:type="arc" />
    <link:label id="lab_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825_totalLabel_en-US" xlink:label="lab_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825_label_en-US" xlink:label="lab_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:to="lab_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:to="lab_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Taxes, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue and Credits, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:to="lab_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:to="lab_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes</link:label>
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296_label_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability for Uncertainty in Income Taxes, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-current accrued income taxes</link:label>
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Income Taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:to="lab_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Liabilities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:type="arc" />
    <link:label id="lab_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities</link:label>
    <link:label id="lab_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB_label_en-US" xlink:label="lab_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:to="lab_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:type="arc" />
    <link:label id="lab_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Preferred Stock, Value, Outstanding</link:label>
    <link:label id="lab_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4_label_en-US" xlink:label="lab_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Preferred Stock, Value, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValueOutstanding" xlink:label="loc_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:to="lab_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shareholders&#8217; equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="lab_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, $.002 par value &#8211; Authorized: 300,000 shares in 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05_label_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Value, Outstanding</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:to="lab_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated other comprehensive loss, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:to="lab_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:type="arc" />
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_64CABE87B7309427E98AE67D63AC9688_terseLabel_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Components of Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_64CABE87B7309427E98AE67D63AC9688_label_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Components Of Cash Cash Equivalents And Investments [Table Text Block]</link:label>
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_64CABE87B7309427E98AE67D63AC9688_documentation_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Components of cash cash equivalents and investments.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:to="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5FE2F04F1E6B08EAE412E67D63ACE143_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_5FE2F04F1E6B08EAE412E67D63ACE143_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_A4C3F508CFFAE28E36E4E67D63AC1B66_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Unrealized Losses and Fair Values for Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_A4C3F508CFFAE28E36E4E67D63AC1B66_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Unrealized Loss on Investments [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:to="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_E193FECE91F0A717DA5AE67D63AC1966_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effective Maturity Dates of Available-for-Sale Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_E193FECE91F0A717DA5AE67D63AC1966_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments Classified by Contractual Maturity Date [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_D4FF96C75AE0009219ED204C8F975033_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense at U.S. federal statutory corporate tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State income taxes, net of federal benefit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign tax rate differential</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Tax credit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F_negatedTerseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to Tax Act 2017</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Act 2017</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Act 2017</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to stock options</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other discrete tax events</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Adjustments, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_5B11808F8C38167D9A17E67D62C91252_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_8D198F90038720099B59E67D62C99A68_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets and Liabilities Measured at Fair Value on a Recurring Basis</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_8D198F90038720099B59E67D62C99A68_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_5CE8DB28D5703718E02BE67D62C98DB7_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_5CE8DB28D5703718E02BE67D62C98DB7_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:type="arc" />
    <link:label id="lab_us-gaap_LeasesAbstract_8C4D2DDE964B78106DFB0203A6662063_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:to="lab_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_F498CF709E9B43CAB673021B3093D7E8_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_F498CF709E9B43CAB673021B3093D7E8_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_F0683113E760A3FEAB0F0203D8E3CB92_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_F0683113E760A3FEAB0F0203D8E3CB92_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Deferred Revenue [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8_label_en-US" xlink:label="lab_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Deferred Revenue [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MovementInDeferredRevenueRollForward" xlink:label="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="lab_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0_periodStartLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Balance as of December 31, 2018</link:label>
    <link:label id="lab_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0_label_en-US" xlink:label="lab_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:to="lab_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increases to deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue, Additions</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueAdditions" xlink:label="loc_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:to="lab_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Recognition of revenue</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="loc_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:to="lab_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:type="arc" />
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130_terseLabel_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign exchange rate changes</link:label>
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130_label_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue, Foreign Currency Exchange Adjustment</link:label>
    <link:label id="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130_documentation_en-US" xlink:label="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Deferred Revenue, Foreign Currency Exchange Adjustment</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:label="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:to="lab_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02_periodEndLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Balance as of September 29, 2019</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:to="lab_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:type="arc" />
    <link:label id="lab_dei_CoverAbstract_A6A0F417C07ED905D75B1ACFE5EF05B1_label_en-US" xlink:label="lab_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cover page.</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="lab_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:type="arc" />
    <link:label id="lab_dei_DocumentType_EB3776D02CB0F4E0F9D91ACFE5F2251B_terseLabel_en-US" xlink:label="lab_dei_DocumentType_91A9FB3033905B338310E2CB317C0C2D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_EB3776D02CB0F4E0F9D91ACFE5F2251B_label_en-US" xlink:label="lab_dei_DocumentType_91A9FB3033905B338310E2CB317C0C2D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_91A9FB3033905B338310E2CB317C0C2D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType_91A9FB3033905B338310E2CB317C0C2D" xlink:to="lab_dei_DocumentType_91A9FB3033905B338310E2CB317C0C2D" xlink:type="arc" />
    <link:label id="lab_dei_DocumentQuarterlyReport_C09473B8264EAF2861BA1ACFE5F2A852_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport_3B6539CE781D5AC0A30E5805314A417F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_C09473B8264EAF2861BA1ACFE5F2A852_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport_3B6539CE781D5AC0A30E5805314A417F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_dei_DocumentQuarterlyReport_3B6539CE781D5AC0A30E5805314A417F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport_3B6539CE781D5AC0A30E5805314A417F" xlink:to="lab_dei_DocumentQuarterlyReport_3B6539CE781D5AC0A30E5805314A417F" xlink:type="arc" />
    <link:label id="lab_dei_DocumentPeriodEndDate_05D3D499504C358F1D111ACFE5F2891F_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_583F797629A85594AC8A53ADEACB917A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_05D3D499504C358F1D111ACFE5F2891F_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_583F797629A85594AC8A53ADEACB917A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_583F797629A85594AC8A53ADEACB917A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate_583F797629A85594AC8A53ADEACB917A" xlink:to="lab_dei_DocumentPeriodEndDate_583F797629A85594AC8A53ADEACB917A" xlink:type="arc" />
    <link:label id="lab_dei_DocumentTransitionReport_7E5A34B54D0EBBB045661ACFE5F3BFFD_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport_407066ACB4D15D0E878CB1EF0DBD2201" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_7E5A34B54D0EBBB045661ACFE5F3BFFD_label_en-US" xlink:label="lab_dei_DocumentTransitionReport_407066ACB4D15D0E878CB1EF0DBD2201" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport_407066ACB4D15D0E878CB1EF0DBD2201" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport_407066ACB4D15D0E878CB1EF0DBD2201" xlink:to="lab_dei_DocumentTransitionReport_407066ACB4D15D0E878CB1EF0DBD2201" xlink:type="arc" />
    <link:label id="lab_dei_EntityFileNumber_85C6B8A85A6C6273FC421ACFE5F3ED8A_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber_2CC06F8AD7715792AEE454F839A061B0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_85C6B8A85A6C6273FC421ACFE5F3ED8A_label_en-US" xlink:label="lab_dei_EntityFileNumber_2CC06F8AD7715792AEE454F839A061B0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber_2CC06F8AD7715792AEE454F839A061B0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber_2CC06F8AD7715792AEE454F839A061B0" xlink:to="lab_dei_EntityFileNumber_2CC06F8AD7715792AEE454F839A061B0" xlink:type="arc" />
    <link:label id="lab_dei_EntityRegistrantName_5A107110B5B325366F251ACFE5F3D7AA_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName_B9AE0D86773B52BC91C2FDB09F417E49" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_5A107110B5B325366F251ACFE5F3D7AA_label_en-US" xlink:label="lab_dei_EntityRegistrantName_B9AE0D86773B52BC91C2FDB09F417E49" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_B9AE0D86773B52BC91C2FDB09F417E49" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName_B9AE0D86773B52BC91C2FDB09F417E49" xlink:to="lab_dei_EntityRegistrantName_B9AE0D86773B52BC91C2FDB09F417E49" xlink:type="arc" />
    <link:label id="lab_dei_EntityCentralIndexKey_2E2B633DEC8F27CC5F4D1ACFE5F370FE_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey_A6B400893E45574B8AA1526D0FC9416B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_2E2B633DEC8F27CC5F4D1ACFE5F370FE_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey_A6B400893E45574B8AA1526D0FC9416B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_A6B400893E45574B8AA1526D0FC9416B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey_A6B400893E45574B8AA1526D0FC9416B" xlink:to="lab_dei_EntityCentralIndexKey_A6B400893E45574B8AA1526D0FC9416B" xlink:type="arc" />
    <link:label id="lab_dei_CurrentFiscalYearEndDate_0F97923E987553A5B4751ACFE5F3486C_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_FE40965C784B5E29B6DF14E745DE5CEE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_0F97923E987553A5B4751ACFE5F3486C_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_FE40965C784B5E29B6DF14E745DE5CEE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_FE40965C784B5E29B6DF14E745DE5CEE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate_FE40965C784B5E29B6DF14E745DE5CEE" xlink:to="lab_dei_CurrentFiscalYearEndDate_FE40965C784B5E29B6DF14E745DE5CEE" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalYearFocus_24BFDAEA428B9563E59D1ACFE5F3C3F3_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_24803441261151AA9FBFD8715987F0E9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_24BFDAEA428B9563E59D1ACFE5F3C3F3_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_24803441261151AA9FBFD8715987F0E9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_24803441261151AA9FBFD8715987F0E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus_24803441261151AA9FBFD8715987F0E9" xlink:to="lab_dei_DocumentFiscalYearFocus_24803441261151AA9FBFD8715987F0E9" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_42039C0C506FE9C658381ACFE5F3C231_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_7A0DA7F2220C5590A186F1DB13AA60B2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_42039C0C506FE9C658381ACFE5F3C231_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_7A0DA7F2220C5590A186F1DB13AA60B2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_7A0DA7F2220C5590A186F1DB13AA60B2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus_7A0DA7F2220C5590A186F1DB13AA60B2" xlink:to="lab_dei_DocumentFiscalPeriodFocus_7A0DA7F2220C5590A186F1DB13AA60B2" xlink:type="arc" />
    <link:label id="lab_dei_AmendmentFlag_EF95927B3C1A45000D2E1ACFE5F3629F_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag_DA2D71513760568C98C0AA1E6D598603" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_EF95927B3C1A45000D2E1ACFE5F3629F_label_en-US" xlink:label="lab_dei_AmendmentFlag_DA2D71513760568C98C0AA1E6D598603" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_DA2D71513760568C98C0AA1E6D598603" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag_DA2D71513760568C98C0AA1E6D598603" xlink:to="lab_dei_AmendmentFlag_DA2D71513760568C98C0AA1E6D598603" xlink:type="arc" />
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_0146694F3C6816FEC37C1ACFE5F3BEA1_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode_B43E7C67BF1D5AEF89CD0A17AF95B7B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_0146694F3C6816FEC37C1ACFE5F3BEA1_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode_B43E7C67BF1D5AEF89CD0A17AF95B7B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode_B43E7C67BF1D5AEF89CD0A17AF95B7B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode_B43E7C67BF1D5AEF89CD0A17AF95B7B7" xlink:to="lab_dei_EntityIncorporationStateCountryCode_B43E7C67BF1D5AEF89CD0A17AF95B7B7" xlink:type="arc" />
    <link:label id="lab_dei_EntityTaxIdentificationNumber_FD65BEF39B27E9E751A81ACFE5F32BC2_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber_682ED8FC8E5B559CB055B409A1EA76E8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_FD65BEF39B27E9E751A81ACFE5F32BC2_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber_682ED8FC8E5B559CB055B409A1EA76E8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber_682ED8FC8E5B559CB055B409A1EA76E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber_682ED8FC8E5B559CB055B409A1EA76E8" xlink:to="lab_dei_EntityTaxIdentificationNumber_682ED8FC8E5B559CB055B409A1EA76E8" xlink:type="arc" />
    <link:label id="lab_dei_EntityAddressAddressLine1_FB18FA752A3A242FAC7F1ACFE5F39E7E_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1_1977919B235C5D68BFFB1DE680F407FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_FB18FA752A3A242FAC7F1ACFE5F39E7E_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1_1977919B235C5D68BFFB1DE680F407FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1_1977919B235C5D68BFFB1DE680F407FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1_1977919B235C5D68BFFB1DE680F407FA" xlink:to="lab_dei_EntityAddressAddressLine1_1977919B235C5D68BFFB1DE680F407FA" xlink:type="arc" />
    <link:label id="lab_dei_EntityAddressCityOrTown_4812A178073F665EEC811ACFE5F336ED_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown_EEA62D7AE823542984FC6E8BAFA1D44F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_4812A178073F665EEC811ACFE5F336ED_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown_EEA62D7AE823542984FC6E8BAFA1D44F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown_EEA62D7AE823542984FC6E8BAFA1D44F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown_EEA62D7AE823542984FC6E8BAFA1D44F" xlink:to="lab_dei_EntityAddressCityOrTown_EEA62D7AE823542984FC6E8BAFA1D44F" xlink:type="arc" />
    <link:label id="lab_dei_EntityAddressStateOrProvince_B142D81704DC15F436BF1ACFE5F4E24E_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince_997F0A584A7554148A5AFC4C2AC08D49" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_B142D81704DC15F436BF1ACFE5F4E24E_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince_997F0A584A7554148A5AFC4C2AC08D49" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince_997F0A584A7554148A5AFC4C2AC08D49" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince_997F0A584A7554148A5AFC4C2AC08D49" xlink:to="lab_dei_EntityAddressStateOrProvince_997F0A584A7554148A5AFC4C2AC08D49" xlink:type="arc" />
    <link:label id="lab_dei_EntityAddressPostalZipCode_0EF9246938F9A702490B1ACFE5F49BFA_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode_99DB6297A0A958F4B0DB1C5C3673408F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_0EF9246938F9A702490B1ACFE5F49BFA_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode_99DB6297A0A958F4B0DB1C5C3673408F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode_99DB6297A0A958F4B0DB1C5C3673408F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode_99DB6297A0A958F4B0DB1C5C3673408F" xlink:to="lab_dei_EntityAddressPostalZipCode_99DB6297A0A958F4B0DB1C5C3673408F" xlink:type="arc" />
    <link:label id="lab_dei_CityAreaCode_D4E805E9AB29656AD04F1ACFE5F49013_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode_7DB86C1B49195666BF6B2CF59F18A0C1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_D4E805E9AB29656AD04F1ACFE5F49013_label_en-US" xlink:label="lab_dei_CityAreaCode_7DB86C1B49195666BF6B2CF59F18A0C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode_7DB86C1B49195666BF6B2CF59F18A0C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode_7DB86C1B49195666BF6B2CF59F18A0C1" xlink:to="lab_dei_CityAreaCode_7DB86C1B49195666BF6B2CF59F18A0C1" xlink:type="arc" />
    <link:label id="lab_dei_LocalPhoneNumber_30F3E007C33236EF2BC11ACFE5F4A81F_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber_10BB151614555A84AEAFD99C9B7B131C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_30F3E007C33236EF2BC11ACFE5F4A81F_label_en-US" xlink:label="lab_dei_LocalPhoneNumber_10BB151614555A84AEAFD99C9B7B131C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber_10BB151614555A84AEAFD99C9B7B131C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber_10BB151614555A84AEAFD99C9B7B131C" xlink:to="lab_dei_LocalPhoneNumber_10BB151614555A84AEAFD99C9B7B131C" xlink:type="arc" />
    <link:label id="lab_dei_EntityCurrentReportingStatus_7168DF1C1F5F79B155E71ACFE5F4B343_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus_6B555168721858FFB42AFFEB53969D65" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_7168DF1C1F5F79B155E71ACFE5F4B343_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus_6B555168721858FFB42AFFEB53969D65" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_6B555168721858FFB42AFFEB53969D65" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus_6B555168721858FFB42AFFEB53969D65" xlink:to="lab_dei_EntityCurrentReportingStatus_6B555168721858FFB42AFFEB53969D65" xlink:type="arc" />
    <link:label id="lab_dei_EntityInteractiveDataCurrent_4051D16FAD3BF163FDB61ACFE5F4F527_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent_1E397C89CD0652279ADB7989B5026FB8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_4051D16FAD3BF163FDB61ACFE5F4F527_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent_1E397C89CD0652279ADB7989B5026FB8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent_1E397C89CD0652279ADB7989B5026FB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent_1E397C89CD0652279ADB7989B5026FB8" xlink:to="lab_dei_EntityInteractiveDataCurrent_1E397C89CD0652279ADB7989B5026FB8" xlink:type="arc" />
    <link:label id="lab_dei_EntityFilerCategory_0D3CBC4EC0A3C890E7901ACFE5F49E0B_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory_B036064990C756119FE45762CDDB733C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_0D3CBC4EC0A3C890E7901ACFE5F49E0B_label_en-US" xlink:label="lab_dei_EntityFilerCategory_B036064990C756119FE45762CDDB733C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_B036064990C756119FE45762CDDB733C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory_B036064990C756119FE45762CDDB733C" xlink:to="lab_dei_EntityFilerCategory_B036064990C756119FE45762CDDB733C" xlink:type="arc" />
    <link:label id="lab_dei_EntitySmallBusiness_FCC1905F9AAE02C0035E1ACFE5F4429A_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness_38B09A4CD6FD50C0BF03E920839E03D2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_FCC1905F9AAE02C0035E1ACFE5F4429A_label_en-US" xlink:label="lab_dei_EntitySmallBusiness_38B09A4CD6FD50C0BF03E920839E03D2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness_38B09A4CD6FD50C0BF03E920839E03D2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness_38B09A4CD6FD50C0BF03E920839E03D2" xlink:to="lab_dei_EntitySmallBusiness_38B09A4CD6FD50C0BF03E920839E03D2" xlink:type="arc" />
    <link:label id="lab_dei_EntityEmergingGrowthCompany_3BE5F0583A866A5854AC1ACFE5F4C49C_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany_9396922DB46A51EA99C97D5C91B33E94" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_3BE5F0583A866A5854AC1ACFE5F4C49C_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany_9396922DB46A51EA99C97D5C91B33E94" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany_9396922DB46A51EA99C97D5C91B33E94" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany_9396922DB46A51EA99C97D5C91B33E94" xlink:to="lab_dei_EntityEmergingGrowthCompany_9396922DB46A51EA99C97D5C91B33E94" xlink:type="arc" />
    <link:label id="lab_dei_EntityShellCompany_408D500467CE58A92FF31ACFE5F4AD8C_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany_5B059AFA65E45997AE3747A076232294" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_408D500467CE58A92FF31ACFE5F4AD8C_label_en-US" xlink:label="lab_dei_EntityShellCompany_5B059AFA65E45997AE3747A076232294" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany_5B059AFA65E45997AE3747A076232294" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany_5B059AFA65E45997AE3747A076232294" xlink:to="lab_dei_EntityShellCompany_5B059AFA65E45997AE3747A076232294" xlink:type="arc" />
    <link:label id="lab_dei_Security12bTitle_0DCB0859090C266E163D1ACFE5F4A8BB_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle_1F9A900D60545841AA96C720F5B4C96F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_0DCB0859090C266E163D1ACFE5F4A8BB_label_en-US" xlink:label="lab_dei_Security12bTitle_1F9A900D60545841AA96C720F5B4C96F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle_1F9A900D60545841AA96C720F5B4C96F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle_1F9A900D60545841AA96C720F5B4C96F" xlink:to="lab_dei_Security12bTitle_1F9A900D60545841AA96C720F5B4C96F" xlink:type="arc" />
    <link:label id="lab_dei_TradingSymbol_4F4BF70AE32244002C281ACFE5F4B953_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol_D8CAD6C2DC435CFD83CC228E993908BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_4F4BF70AE32244002C281ACFE5F4B953_label_en-US" xlink:label="lab_dei_TradingSymbol_D8CAD6C2DC435CFD83CC228E993908BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_D8CAD6C2DC435CFD83CC228E993908BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol_D8CAD6C2DC435CFD83CC228E993908BC" xlink:to="lab_dei_TradingSymbol_D8CAD6C2DC435CFD83CC228E993908BC" xlink:type="arc" />
    <link:label id="lab_dei_SecurityExchangeName_B81F4A47E6B7B81596DE1ACFE5F43748_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName_D285FDAD2D2850159F9E18E8A4F6A3E1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_B81F4A47E6B7B81596DE1ACFE5F43748_label_en-US" xlink:label="lab_dei_SecurityExchangeName_D285FDAD2D2850159F9E18E8A4F6A3E1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName_D285FDAD2D2850159F9E18E8A4F6A3E1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName_D285FDAD2D2850159F9E18E8A4F6A3E1" xlink:to="lab_dei_SecurityExchangeName_D285FDAD2D2850159F9E18E8A4F6A3E1" xlink:type="arc" />
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_F12A4983846F90FF89FE1ACFE5F4AE03_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_A10CA9A9FC5953F6954ED08711FBA257" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_F12A4983846F90FF89FE1ACFE5F4AE03_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_A10CA9A9FC5953F6954ED08711FBA257" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_A10CA9A9FC5953F6954ED08711FBA257" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding_A10CA9A9FC5953F6954ED08711FBA257" xlink:to="lab_dei_EntityCommonStockSharesOutstanding_A10CA9A9FC5953F6954ED08711FBA257" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_DABDB6F580F37311C2BBE67D622A5E30_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements</link:label>
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_DABDB6F580F37311C2BBE67D622A5E30_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value, less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Unrealized losses, less than 12 months</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Unrealized losses, 12 months or greater</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total unrealized losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_DCE068B752659C2BE96AE67D6283EEE9_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_D39F60992234C538F481E67D6284E03F_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of Revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_D39F60992234C538F481E67D6284E03F_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Goods, Total [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:to="lab_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="arc" />
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_353DD6FE21AD9DAE94BFE67D62846317_terseLabel_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, General, and Administrative</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_353DD6FE21AD9DAE94BFE67D62846317_label_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling General And Administrative [Member]</link:label>
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_353DD6FE21AD9DAE94BFE67D62846317_documentation_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:to="lab_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_58EB1FAE02817BC054D5E67D62840647_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_58EB1FAE02817BC054D5E67D62840647_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_8C5B05774876BE6D7433E67D6284DF65_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_8C5B05774876BE6D7433E67D6284DF65_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allocated Share-based Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="arc" />
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_DFCE6E92AED6F403DEE9E67D63BB6E0A_terseLabel_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding Forward Contracts Table</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_DFCE6E92AED6F403DEE9E67D63BB6E0A_label_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Outstanding Forward Contracts [Table Text Block]</link:label>
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_DFCE6E92AED6F403DEE9E67D63BB6E0A_documentation_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Outstanding forward contracts table.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:to="lab_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_3060BFD12DC2E1FEED89E67D63BB6BE8_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_3060BFD12DC2E1FEED89E67D63BB6BE8_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:type="arc" />
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_4247B8C751A9F7CEBCBDE67D63BB04B4_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Offsetting Assets</link:label>
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_4247B8C751A9F7CEBCBDE67D63BB04B4_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Offsetting Assets [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:to="lab_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_55544CCAB3EE4EE0600AE67D63BCA3DB_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss)</link:label>
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_55544CCAB3EE4EE0600AE67D63BCA3DB_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Basic weighted-average common shares outstanding</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of dilutive equity awards</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number Diluted Shares Outstanding Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_EB9F6A43DB83CA66C070F68732B63ED7_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_EB9F6A43DB83CA66C070F68732B63ED7_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DC52DA1CE8EC86290F60F68732B60332_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_DC52DA1CE8EC86290F60F68732B60332_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_A6C4C488CCBA7141DC6DF68732B65B1B_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_A6C4C488CCBA7141DC6DF68732B65B1B_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="arc" />
    <link:label id="lab_us-gaap_DistributionRightsMember_6984A008592299F66384F68732B69F54_terseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Distribution networks</link:label>
    <link:label id="lab_us-gaap_DistributionRightsMember_6984A008592299F66384F68732B69F54_label_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Distribution Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:to="lab_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="arc" />
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_86EB4173222568EF1F2AF68732B72101_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Completed technologies</link:label>
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_86EB4173222568EF1F2AF68732B72101_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="arc" />
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_43B50B067D7F424998CAF68732B72103_terseLabel_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Customer relationships</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_43B50B067D7F424998CAF68732B72103_label_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_43B50B067D7F424998CAF68732B72103_documentation_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Customer Contracts And Relationships [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:to="lab_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherIntangibleAssetsMember_5915A308E7A7AD80430CF68732B790E4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Non-compete agreements</link:label>
    <link:label id="lab_us-gaap_OtherIntangibleAssetsMember_5915A308E7A7AD80430CF68732B790E4_label_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Intangible Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:to="lab_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E6AD0FBAC937182BF644F68732B7493A_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_E6AD0FBAC937182BF644F68732B7493A_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_76DF321C41C20D7085ABF68732B7EF72_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_76DF321C41C20D7085ABF68732B7EF72_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_67695215088AC75DECF2F68732B8A843_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_67695215088AC75DECF2F68732B8A843_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_068289030F03533475DEF68732B88F0C_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net Carrying Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_FB815EE92F3215A5DF3CF68732B883A9_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_FB815EE92F3215A5DF3CF68732B883A9_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9A834562C2581AAD9458F68732B8FE4F_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Remainder of fiscal 2019</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_9A834562C2581AAD9458F68732B8FE4F_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_02155AF00C337FF4C118F68732B887A0_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2019</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_02155AF00C337FF4C118F68732B887A0_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_D22AFD0249911057004DF68732B8367C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_D22AFD0249911057004DF68732B8367C_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_590400860D0054E5F084F68732B9453B_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_590400860D0054E5F084F68732B9453B_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_FCB9196A0053D8DD27DAF68732B9034D_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_FCB9196A0053D8DD27DAF68732B9034D_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_D07C2B7AA5545D64833CF68732B9633C_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_D07C2B7AA5545D64833CF68732B9633C_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4F4176C2FFAE2B2E2801F68732B97190_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4F4176C2FFAE2B2E2801F68732B97190_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, after Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLiability_DFB9700480CC20FC25EE06B1E548CE18_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_DFB9700480CC20FC25EE06B1E548CE18_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:to="lab_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_EBAC6855F6F82569BF1506B1E5488B7E_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Operating lease, right-of-use asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_E5551F34FEECF227A17806B1E5484425_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Operating lease, liability, current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_FB2F080A71ABD82BF08E06B1E5489E9E_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Operating lease, liability, noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseCost_7FE6DCBE6E7D2671318F06B1E5493E99_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating lease, cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_7FE6DCBE6E7D2671318F06B1E5493E99_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:to="lab_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeasePayments_509D6CFB0AFE34AE73CE06B1E549792C_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating lease, payments</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_509D6CFB0AFE34AE73CE06B1E549792C_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:to="lab_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_LeaseCost_4E2B4F6FFE7440278C3D06B1E5497285_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lease, cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_4E2B4F6FFE7440278C3D06B1E5497285_label_en-US" xlink:label="lab_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:to="lab_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_B2E1B8C2EAE736584C6306B1E549F850_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_B2E1B8C2EAE736584C6306B1E549F850_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_1FA69A96A47F812A387D06B1E5493C30_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_1FA69A96A47F812A387D06B1E5493C30_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingLeaseLeaseIncome_AA08BC70EC37C71EEAEB06B1E549A3E2_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Operating Lease, Lease Income</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLeaseIncome_AA08BC70EC37C71EEAEB06B1E549A3E2_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Lease, Lease Income</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="loc_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:to="lab_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_A23F0EF182BF7D53B074E67D622C69EE_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_A23F0EF182BF7D53B074E67D622C69EE_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:to="lab_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_E1BC7568E1D8697613DAE67D630BD8C1_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:to="lab_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_090DA52B805037920FA1E67D630B057F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Inventories</link:label>
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_090DA52B805037920FA1E67D630B057F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_D7CF1C58FA0703E51349E687A5A751F2_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_D7CF1C58FA0703E51349E687A5A751F2_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Measurements, Recurring and Nonrecurring [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_98CB5334C186F73C6988E687A5A75C8E_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_98CB5334C186F73C6988E687A5A75C8E_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D1983654EA12B36A91A8E687A5A7499C_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_D1983654EA12B36A91A8E687A5A7499C_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy and NAV [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_8E9C4F8A31CD3C10DA36E687A5A8DA92_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Quoted Prices in Active Markets for Identical Assets (Level 1)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_8E9C4F8A31CD3C10DA36E687A5A8DA92_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 1 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:to="lab_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_3048EEDFC467EBEEB792E687A5A879F8_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Significant Other Observable Inputs (Level 2)</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_3048EEDFC467EBEEB792E687A5A879F8_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 2 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:to="lab_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_E9963BFACEE504B93294E687A5A8D87B_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3</link:label>
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_E9963BFACEE504B93294E687A5A8D87B_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Inputs, Level 3 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:to="lab_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_10309CB57E99B2BE93B5E687A5A86909_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_10309CB57E99B2BE93B5E687A5A86909_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Measurement Frequency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_F09B937E613CC4F9C3DAE687A5A99CCC_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_F09B937E613CC4F9C3DAE687A5A99CCC_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement Frequency [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_7C03A4F5CA06BE1D1036E687A5A9EF9F_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_7C03A4F5CA06BE1D1036E687A5A9EF9F_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurements, Recurring [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_8BE28B90EBE645D16C0BE687A5B05060_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_8BE28B90EBE645D16C0BE687A5B05060_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_F65C50E9556EB15306F0E687A5B16E5E_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Assets:</link:label>
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_F65C50E9556EB15306F0E687A5B16E5E_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Assets, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="lab_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_7C8BC41B0CBE53603FCEE687A5B16989_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Financial assets at fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_7C8BC41B0CBE53603FCEE687A5B16989_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_54D96FA4E33907647202E687A5B2DFE8_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_54D96FA4E33907647202E687A5B2DFE8_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_4165C810382567218114E687A5B2363F_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_4165C810382567218114E687A5B2363F_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Disclosure [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_5456D0DEE29735540D73E687A5B20524_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_5456D0DEE29735540D73E687A5B20524_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Contracts, Liability, Fair Value Disclosure</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_94DCFD6CF40F4DE335D7E687A5B2B4B6_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Contingent consideration liabilities</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_94DCFD6CF40F4DE335D7E687A5B2B4B6_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="arc" />
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7E6A908BE29D4165A95FE67D62D0BA08_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock options to purchase anti-dilutive common stock</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_7E6A908BE29D4165A95FE67D62D0BA08_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="arc" />
    <link:label id="lab_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D_terseLabel_en-US" xlink:label="lab_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:label id="lab_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D_label_en-US" xlink:label="lab_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:to="lab_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="arc" />
    <link:label id="lab_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D_terseLabel_en-US" xlink:label="lab_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:label id="lab_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D_label_en-US" xlink:label="lab_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Geographical [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="lab_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="arc" />
    <link:label id="lab_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A_terseLabel_en-US" xlink:label="lab_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Americas</link:label>
    <link:label id="lab_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A_label_en-US" xlink:label="lab_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Americas [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_AmericasMember" xlink:label="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:to="lab_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="arc" />
    <link:label id="lab_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5_terseLabel_en-US" xlink:label="lab_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Europe</link:label>
    <link:label id="lab_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5_label_en-US" xlink:label="lab_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Europe [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:to="lab_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="arc" />
    <link:label id="lab_country_CN_68C86471BF3E4FA5F110FB0DDACC2658_terseLabel_en-US" xlink:label="lab_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Greater China</link:label>
    <link:label id="lab_country_CN_68C86471BF3E4FA5F110FB0DDACC2658_label_en-US" xlink:label="lab_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">CHINA</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:to="lab_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="arc" />
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73_terseLabel_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other Asia</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73_label_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:label id="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73_documentation_en-US" xlink:label="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Asia, Excluding China [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:to="lab_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_2E70897A685BB215DACBFB1E9358FA36_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="arc" />
    <link:label id="lab_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389_terseLabel_en-US" xlink:label="lab_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389_label_en-US" xlink:label="lab_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:to="lab_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="arc" />
    <link:label id="lab_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86_terseLabel_en-US" xlink:label="lab_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Range [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86_label_en-US" xlink:label="lab_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Range [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:to="lab_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="arc" />
    <link:label id="lab_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3_terseLabel_en-US" xlink:label="lab_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3_label_en-US" xlink:label="lab_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:to="lab_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="arc" />
    <link:label id="lab_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8_terseLabel_en-US" xlink:label="lab_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8_label_en-US" xlink:label="lab_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:to="lab_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="arc" />
    <link:label id="lab_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Award Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:to="lab_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Award [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Employee Stock Option</link:label>
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Stock Option [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:to="lab_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:label id="lab_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:to="lab_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:label id="lab_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:to="lab_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="arc" />
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429_terseLabel_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">General Stock Option Plan</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429_label_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General Stock Option Plan [Member]</link:label>
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429_documentation_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">General stock option plan.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:to="lab_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Granted (in dollars per share)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares available for grant under stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period for stock option plans</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="arc" />
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1_terseLabel_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expiration period from grant day</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1_label_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Expiration Period Of Stock Option Plan</link:label>
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1_documentation_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Expiration period of stock option plan.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:to="lab_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="arc" />
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Groups within the employee population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5_label_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Number Of Groups Within Employee Population</link:label>
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5_documentation_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Number of groups within employee population.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:to="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for senior management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for senior management.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Estimated annual forfeiture rate for unvested options for all other employees</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Estimated Forfeiture Rate For Unvested Options For All Non Senior Management</link:label>
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Estimated forfeiture rate for unvested options for all non-senior management.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (decrease) to compensation expense</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E_label_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase In Compensation Expense Due To Revised Estimated Forfeiture Rates</link:label>
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E_documentation_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase (decrease) in compensation expense due to revised estimated forfeiture rates.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:to="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average grant-date fair values, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="arc" />
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B_terseLabel_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total intrinsic value</link:label>
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B_label_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_73EE71551CE1CE511F82FB1E935D246B_documentation_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Shares based compensation arrangement by shares based payment award options exercisable intrinsic value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:to="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total fair values of stock options vest</link:label>
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_34CE01932DED91B17094FB1E935DE6DB_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Share based compensation arrangement by share based payment award options vested fair value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Unrecognized compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted average period to be recognized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE_label_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_C391599B2C57ED67F1E1FB1E935EB4DE_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Period for Recognition</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:to="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax benefit from compensation expense</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share-based Compensation, Tax Benefit from Compensation Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Recognized period costs capitalized</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48_label_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Employee Service Share Based Compensation Recognized Period Costs Capitalized Amount</link:label>
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Employee service share based compensation recognized period costs capitalized amount.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:to="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="arc" />
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_3B64937132207D4D606CE67D63DD3296_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Costs to fulfill contract</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostGross_3B64937132207D4D606CE67D63DD3296_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Capitalized Contract Cost, Gross</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CapitalizedContractCostGross" xlink:label="loc_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:to="lab_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_2D9A6DC51DC71B47BC58F66CD67618AC_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_2D9A6DC51DC71B47BC58F66CD67618AC_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="arc" />
    <link:label id="lab_cgnx_GViVenturesInc.Member_FA147F7755BABFB25540F66CD6779000_verboseLabel_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">GVi</link:label>
    <link:label id="lab_cgnx_GViVenturesInc.Member_FA147F7755BABFB25540F66CD6779000_label_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">GVi Ventures, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_GViVenturesInc.Member_FA147F7755BABFB25540F66CD6779000_documentation_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">GVi Ventures, Inc. [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:to="lab_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="arc" />
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_A4092181F1CCB4EBAC8AF66CD678F4FE_terseLabel_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_A4092181F1CCB4EBAC8AF66CD678F4FE_label_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_A4092181F1CCB4EBAC8AF66CD678F4FE_documentation_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Chiaro Technologies LLC [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:to="lab_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A52DBACEFD59439D1B5CF66CD679E7CD_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A52DBACEFD59439D1B5CF66CD679E7CD_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_D271D026B24F061556CCF66CD67923C7_periodStartLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_D271D026B24F061556CCF66CD67923C7_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_9AF0644BEC9A53889282F66CD67A2CCB_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Adjustment</link:label>
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_9AF0644BEC9A53889282F66CD67A2CCB_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liabilities, Fair Value Adjustment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:to="lab_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="arc" />
    <link:label id="lab_cgnx_Paymentofcontingentconsideration_9FCB74C8E3669B69F35AF66CD67A7B17_negatedLabel_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_cgnx_Paymentofcontingentconsideration_9FCB74C8E3669B69F35AF66CD67A7B17_label_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_cgnx_Paymentofcontingentconsideration_9FCB74C8E3669B69F35AF66CD67A7B17_documentation_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Payment of contingent consideration from a business combination</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:to="lab_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_ABC5A0B6F57C9311C660F66CD67AC064_periodEndLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46_label_en-US" xlink:label="lab_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:to="lab_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:to="lab_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="lab_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7_label_en-US" xlink:label="lab_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:to="lab_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:to="lab_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A_label_en-US" xlink:label="lab_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:to="lab_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance (in shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:to="lab_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:to="lab_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans (in shares)</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E_label_en-US" xlink:label="lab_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Dividends, Cash</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:to="lab_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB_terseLabel_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustment as a result of the adoption of ASU 2016-06 Income Taxes - Intra-Entity Transfers Other than Inventory</link:label>
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB_label_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect of New Accounting Principle in Period of Adoption</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:to="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:to="lab_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, after Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" 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_5CBB498554B03273DA07FB0DDBF076F9_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance (in shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:to="lab_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending Balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:to="lab_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_8D49DEFD06B550FDD804E67D6220B358_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranties Disclosures [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_D5E2A62EF043362CBC40E67D62205851_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_D5E2A62EF043362CBC40E67D62205851_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product Warranty Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">1 year or less</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">1-2 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_5331A01D6DC71135BE70EF10F65020BA_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" 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:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2-3 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_047A6CB2E60C293C7C79EF10F6502588_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after second year but before third year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">3-4 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_0F3C692D4EDA28D12D9AEF10F651D819_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after third year but before fourth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">4-5 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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_A79B7031A300B723D4FFEF10F6510D62_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available-for-sale securities, debt maturities after fourth year but before fifth year, fair value.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Fair value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_C61DDBC21712D0803DA8E67D61B5CCD2_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserves for accounts receivable</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_C61DDBC21712D0803DA8E67D61B5CCD2_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Allowance for Doubtful Accounts Receivable, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_40ECB29A71EB6260BEE2E67D61B5127C_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Common stock, par value</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_40ECB29A71EB6260BEE2E67D61B5127C_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_834F786EFA9B33E4A874E67D61B64F9C_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_834F786EFA9B33E4A874E67D61B64F9C_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:to="lab_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_7C1A3CA667065D2A4AC5E67D61B6DB0E_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:to="lab_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_2019B563C2BB1816C3FD0558BBCE0AB6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_2019B563C2BB1816C3FD0558BBCE0AB6_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_2756DE9B9E934FD5AC2A0558BBD0ED24_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_2756DE9B9E934FD5AC2A0558BBD0ED24_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosures [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_F83E0787747A53D44EC10558BBD064F4_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remaining maturity of foreign currency derivatives (up to)</link:label>
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_F83E0787747A53D44EC10558BBD064F4_label_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Remaining Maturity of Foreign Currency Derivatives</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:to="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Type [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:to="lab_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:to="lab_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Short-Term Investments</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Short-term Investments [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:to="lab_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="arc" />
    <link:label id="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD_terseLabel_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Long-Term Investments</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD_label_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Long Term Investments [Member]</link:label>
    <link:label id="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD_documentation_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Long-term investments.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:to="lab_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Amortized cost</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Amortized Cost</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross unrealized gains</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Debt Securities, Available-for-sale, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair value</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:to="lab_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="arc" />
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_049C0C8D392B45B3C5D6E67D635DB044_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-Based Compensation Expense</link:label>
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_049C0C8D392B45B3C5D6E67D635DB044_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Compensation Related Costs, General [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:to="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_FF7967D1521390E5EE23E67D63BEC3E1_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_FF7967D1521390E5EE23E67D63BEC3E1_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementAbstract_7C9A3E5DCB3E6D862505055A3673FE25_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="lab_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_26FF60AADEBE590AD9E4055A3673F1F5_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cost of revenue</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_26FF60AADEBE590AD9E4055A3673F1F5_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_GrossProfit_46B8B2F6411224F6D6CF055A36747326_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Gross margin</link:label>
    <link:label id="lab_us-gaap_GrossProfit_46B8B2F6411224F6D6CF055A36747326_label_en-US" xlink:label="lab_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:to="lab_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_4CB30F2C8E955D105A06055A36744698_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Research, development, and engineering expenses</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_4CB30F2C8E955D105A06055A36744698_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Research and Development Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:type="arc" />
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_A61BADF35F9A0FD5F019055A367403C8_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Selling, general, and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_A61BADF35F9A0FD5F019055A367403C8_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingIncomeLoss_8622BAC3E56485B052B7055A3674DC28_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_8622BAC3E56485B052B7055A3674DC28_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:to="lab_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_191A0900BB4D7F9545B3055A3674E9D1_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency gain (loss)</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_191A0900BB4D7F9545B3055A3674E9D1_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_FD270242B16EA0A70D1B055A36742C7D_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Investment income</link:label>
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_FD270242B16EA0A70D1B055A36742C7D_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investment Income, Nonoperating</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:to="lab_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_FB84BE192790EDBE4F10055A3675D245_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other income (expense)</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_FB84BE192790EDBE4F10055A3675D245_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_10BFA341935B6B0CCCAF055A36755A67_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income before income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_10BFA341935B6B0CCCAF055A36755A67_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_825BA8B39B6BA3D7C549055A3675B814_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_825BA8B39B6BA3D7C549055A3675B814_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_49B8B8649270022F3115055A36754ABD_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net Income</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:to="lab_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_3589F030A58D0A0CC28C055A3675D951_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net income per weighted-average common and common-equivalent share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_3589F030A58D0A0CC28C055A3675D951_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_472AF868EC2F1D9A064E055A3675B150_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (usd per share)</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_472AF868EC2F1D9A064E055A3675B150_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income (Loss) from Continuing Operations, Per Diluted Share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_C32CEAB2AE21D40CEB16055A36761B53_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_C32CEAB2AE21D40CEB16055A36761B53_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:to="lab_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_565EF57C28A3E28D3E66055A36760027_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-average common and common-equivalent shares outstanding:</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_565EF57C28A3E28D3E66055A36760027_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_48288752513F6D501924055A3676AE04_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic (shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_C6BAE88D80D3A2D80D1C055A36768665_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted (shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_164E41BDB790FC81BBCF055A3676381D_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash dividends per common share (usd per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_164E41BDB790FC81BBCF055A3676381D_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Common Stock, Dividends, Per Share, Cash Paid</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:to="lab_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:type="arc" />
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_0DE877EB86258A871227E67D621CC01B_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible Assets</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_0DE877EB86258A871227E67D621CC01B_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:type="arc" />
    <link:label id="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4_terseLabel_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flow hedges:</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4_label_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:label id="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4_documentation_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Cash flows hedges [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:to="lab_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Available-for-sale investments:</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Reclassification of net realized (gain) loss into current operations</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to available-for-sale investments</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:type="arc" />
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE_terseLabel_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments:</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE_label_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE_documentation_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Currency translation adjustments [Abstract]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:to="lab_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Foreign currency translation adjustments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Other comprehensive income (loss), net of tax</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total comprehensive income</link:label>
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_FD47D19DA796B4395216E67D62CEE11C_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taxes</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_FD47D19DA796B4395216E67D62CEE11C_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_6BA8A409129D1007F228055A36241566_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_CF9D4D06FF1793F87BE9055A3624149F_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_CF9D4D06FF1793F87BE9055A3624149F_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_CFB6547788ABD9726E77055A3625E6E3_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_CFB6547788ABD9726E77055A3625E6E3_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockOptionPlanExpense_617A0257C4CE738FCF25055A36257F1F_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:label id="lab_us-gaap_StockOptionPlanExpense_617A0257C4CE738FCF25055A36257F1F_label_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:to="lab_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:type="arc" />
    <link:label id="lab_us-gaap_Depreciation_4FE1E181835F6D051E7D055A362528C7_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Depreciation of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_Depreciation_4FE1E181835F6D051E7D055A362528C7_label_en-US" xlink:label="lab_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:to="lab_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:type="arc" />
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_D9B5B154308227EB503C055A362557B2_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_D9B5B154308227EB503C055A362557B2_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_075423E530A0317A4EC1055A3626BAD0_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Amortization of discounts or premiums on investments</link:label>
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_075423E530A0317A4EC1055A3626BAD0_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accretion (Amortization) of Discounts and Premiums, Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:type="arc" />
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_EBEED52065528E21A8F2055A36265CAA_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Realized (gain) loss on sale of investments</link:label>
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_EBEED52065528E21A8F2055A36265CAA_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Gain (Loss) on Sale of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:to="lab_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_EE0C63DBF928401BC03B055A3626EA8F_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revaluation of contingent consideration</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_EE0C63DBF928401BC03B055A3626EA8F_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F975E148228AC9DED2DF055A3626B3AB_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Change in deferred income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_F975E148228AC9DED2DF055A3626B3AB_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Income Taxes</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_19D47B9C0690CBC2A119055A36260FF7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_19D47B9C0690CBC2A119055A36260FF7_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_795ED7460F810BFBF77A055A3626B734_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Unbilled revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_795ED7460F810BFBF77A055A3626B734_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Unbilled Receivables</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:to="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_FF3ADA93B765BFB21756055A3627445F_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_FF3ADA93B765BFB21756055A3627445F_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_1E8F5D78961F927C0595055A3627ED99_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_1E8F5D78961F927C0595055A3627ED99_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C75FBEFB14817008C4D0055A3627C92A_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C75FBEFB14817008C4D0055A3627C92A_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_3E31A641E93ACE3F1B29055A3627D949_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued expenses</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_3E31A641E93ACE3F1B29055A3627D949_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_0370BFBD68E5ECBAB9D9055A36279338_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued income taxes</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_0370BFBD68E5ECBAB9D9055A36279338_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Accrued Taxes Payable</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_A8989AC8FA873DA3A95E055A362751AB_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred revenue and customer deposits</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_A8989AC8FA873DA3A95E055A362751AB_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Deferred Revenue</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_30E6A4AE9404756706BB055A3627428D_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Other</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_30E6A4AE9404756706BB055A3627428D_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase (Decrease) in Other Operating Assets and Liabilities, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_AFBEC21D418224F1FC0C055A3628DC60_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_AFBEC21D418224F1FC0C055A3628DC60_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_CC1E1CA467F1A80027CF055A362897E3_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_CC1E1CA467F1A80027CF055A362897E3_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_8A3BFBE42C04A6812177055A3628DB7A_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_8A3BFBE42C04A6812177055A3628DB7A_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:to="lab_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_800A3AB1978196225C32055A362838AE_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maturities and sales of investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_800A3AB1978196225C32055A362838AE_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Sale, Maturity and Collection of Investments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:to="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2E83FE7118540C269EFD055A36281E8B_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Purchases of property, plant, and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_2E83FE7118540C269EFD055A36281E8B_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_F16DDF6D732317C56CFC055A362ECB27_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_F16DDF6D732317C56CFC055A362ECB27_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_C4DF5141DF65BA683394055A362E0C69_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_C4DF5141DF65BA683394055A362E0C69_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_EB389C8FED108CF97CA1055A362EA9A2_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Issuance of common stock under stock plans</link:label>
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_EB389C8FED108CF97CA1055A362EA9A2_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_C74227602063A81F2643055A362FFAA2_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_C74227602063A81F2643055A362FFAA2_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_FBAE876541DF5CEECDBF055A362F30AE_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Payment of dividends</link:label>
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_FBAE876541DF5CEECDBF055A362F30AE_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments of Ordinary Dividends, Common Stock</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:to="lab_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_E09B40D6D1AC8259F0C2055A362F50C1_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_E09B40D6D1AC8259F0C2055A362F50C1_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_28367A65F9A84D6A342E055A362F0949_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of foreign exchange rate changes on cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_28367A65F9A84D6A342E055A362F0949_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_B56CCF430E7B4A3C9BA1055A362F886F_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_B56CCF430E7B4A3C9BA1055A362F886F_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash and Cash Equivalents, Period Increase (Decrease)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:to="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_76FBBEA35C5C7E17E2F1055A36307F86_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_220E8F0FD3E56E192A23055A3630F935_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityAbstract_57D99558A622E83CF0C7E67D616617FB_label_en-US" xlink:label="lab_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:to="lab_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_E68863BD3FF989BA165DE67D6166F6CA_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_E68863BD3FF989BA165DE67D6166F6CA_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_2A80B27EADA640B30E09E67D630E0A4F_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Shares</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_2A80B27EADA640B30E09E67D630E0A4F_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:to="lab_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_5F42F7B24FEDD4989E44E67D6287A4DF_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Changes in Warranty Obligations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_5F42F7B24FEDD4989E44E67D6287A4DF_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Product Warranty Liability [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Summary of Stock Option Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" 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_2388BC045BE65677507CFB0DDAB78A8F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" 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_B4E3D0EB599A502CB0D9FB0DDAB73E7B_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity</link:label>
    <link:label id="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A_label_en-US" xlink:label="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:to="lab_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_413203B329F1900147AB01F854D55296_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_413203B329F1900147AB01F854D55296_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_80F57EB4EBBD1CC073B6E67D63526ABE_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Risk-free rate</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_80F57EB4EBBD1CC073B6E67D63526ABE_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" 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:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_349356DDD82175C4F29BE67D63524BAD_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected dividend yield</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_349356DDD82175C4F29BE67D63524BAD_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6203B804C241DAEA9F9CE67D635312E2_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected volatility</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6203B804C241DAEA9F9CE67D635312E2_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_B63493DEFE8E5622E4D9E67D6353D308_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Expected term (in years)</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_B63493DEFE8E5622E4D9E67D6353D308_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_4FD50A471A040E8FED51055A34DD7939_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_4FD50A471A040E8FED51055A34DD7939_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Movement in Standard Product Warranty Accrual [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_D4F6C5E2C068B1FD1F82055A34DDDDA1_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Beginning balance</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_D4F6C5E2C068B1FD1F82055A34DDDDA1_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:to="lab_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_1D43DBA35FFA6A3F25D4055A34DEBE54_verboseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Provisions for warranties issued during the period</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_1D43DBA35FFA6A3F25D4055A34DEBE54_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Increase for Warranties Issued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_B0BB10E98C1E6B19B146055A34DE421A_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Fulfillment of warranty obligations</link:label>
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_B0BB10E98C1E6B19B146055A34DE421A_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Decrease for Payments</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_3E67B3F234BFFE741E6B055A34DE0DB7_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Ending balance</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:to="lab_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_72C5595A1C0E4B6BB858E67D62CC87D9_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_72C5595A1C0E4B6BB858E67D62CC87D9_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_6989D8645383E10BC714E67D6306D122_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of recognized assets</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_6989D8645383E10BC714E67D6306D122_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Fair Value, Gross Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_DB9F6B4F489745043C67E67D6306CA4F_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_DB9F6B4F489745043C67E67D6306CA4F_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Collateral, Obligation to Return Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:to="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_6C17FD0980180282D584E67D630729CB_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of assets presented</link:label>
    <link:label id="lab_us-gaap_DerivativeAssets_6C17FD0980180282D584E67D630729CB_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:to="lab_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_836A273459F828569C71E67D63075C87_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts of recognized liabilities</link:label>
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_836A273459F828569C71E67D63075C87_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Fair Value, Gross Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7ED74BC9E9A6B18DC244E67D63077B08_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross amounts offset</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7ED74BC9E9A6B18DC244E67D63077B08_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability, Collateral, Right to Reclaim Cash, Offset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:to="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_4D5FF06DB32920B2BE91E67D6307800E_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net amount of liabilities presented</link:label>
    <link:label id="lab_us-gaap_DerivativeLiabilities_4D5FF06DB32920B2BE91E67D6307800E_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:to="lab_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_395254C4458D170CC1A3E67D6401ACD5_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_395254C4458D170CC1A3E67D6401ACD5_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Products and Services [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="arc" />
    <link:label id="lab_srt_ProductOrServiceAxis_DEA1B0E0182B2047A5A8E67D6401AB45_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_DEA1B0E0182B2047A5A8E67D6401AB45_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:to="lab_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="arc" />
    <link:label id="lab_srt_ProductsAndServicesDomain_5BCE3571FE8B06AD8679E67D6401BEB4_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_5BCE3571FE8B06AD8679E67D6401BEB4_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:to="lab_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="arc" />
    <link:label id="lab_cgnx_StandardProductsandServicesMember_F584CE0C512EFF5F7B17E67D6402FFBD_terseLabel_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Standard Products and Services</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_F584CE0C512EFF5F7B17E67D6402FFBD_label_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:label id="lab_cgnx_StandardProductsandServicesMember_F584CE0C512EFF5F7B17E67D6402FFBD_documentation_en-US" xlink:label="lab_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Standard Products and Services [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:to="lab_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="arc" />
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_406D34EA8B5F551F6685E67D64026D0E_terseLabel_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Application-Specific Customer Solutions</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_406D34EA8B5F551F6685E67D64026D0E_label_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:label id="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_406D34EA8B5F551F6685E67D64026D0E_documentation_en-US" xlink:label="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Application-Specific Customer Solutions [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:to="lab_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="arc" />
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0EB36D54A113F098DE6CE67D6402E4C3_terseLabel_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:label id="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_0EB36D54A113F098DE6CE67D6402E4C3_label_en-US" xlink:label="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customer [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:to="lab_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:label id="lab_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868_label_en-US" xlink:label="lab_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="lab_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="arc" />
    <link:label id="lab_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8_terseLabel_en-US" xlink:label="lab_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8_label_en-US" xlink:label="lab_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_CurrencyAxis" xlink:label="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:to="lab_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="arc" />
    <link:label id="lab_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:label id="lab_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">All Currencies [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="lab_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="arc" />
    <link:label id="lab_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F_terseLabel_en-US" xlink:label="lab_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Euro Member Countries, Euro</link:label>
    <link:label id="lab_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F_label_en-US" xlink:label="lab_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Euro Member Countries, Euro</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_EUR" xlink:label="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:to="lab_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="arc" />
    <link:label id="lab_currency_JPY_56928F71F378B0249BFFEEE51D230975_terseLabel_en-US" xlink:label="lab_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Japanese Yen</link:label>
    <link:label id="lab_currency_JPY_56928F71F378B0249BFFEEE51D230975_label_en-US" xlink:label="lab_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Japan, Yen</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:to="lab_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="arc" />
    <link:label id="lab_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB_terseLabel_en-US" xlink:label="lab_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Mexico, Pesos</link:label>
    <link:label id="lab_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB_label_en-US" xlink:label="lab_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Mexico, Pesos</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_MXN" xlink:label="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:to="lab_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="arc" />
    <link:label id="lab_currency_GBP_9AC791F54CC96796280AEEE51D249AA0_terseLabel_en-US" xlink:label="lab_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:label id="lab_currency_GBP_9AC791F54CC96796280AEEE51D249AA0_label_en-US" xlink:label="lab_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">United Kingdom, Pounds</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:to="lab_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="arc" />
    <link:label id="lab_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC_terseLabel_en-US" xlink:label="lab_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hungary, Forint</link:label>
    <link:label id="lab_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC_label_en-US" xlink:label="lab_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Hungary, Forint</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:to="lab_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="arc" />
    <link:label id="lab_currency_KRW_E07E6F51FF283B37820AEEE51D246E01_terseLabel_en-US" xlink:label="lab_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Korean Won</link:label>
    <link:label id="lab_currency_KRW_E07E6F51FF283B37820AEEE51D246E01_label_en-US" xlink:label="lab_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Korea (South), Won</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:to="lab_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="arc" />
    <link:label id="lab_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD_terseLabel_en-US" xlink:label="lab_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Taiwanese Dollar</link:label>
    <link:label id="lab_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD_label_en-US" xlink:label="lab_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Taiwan, New Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:to="lab_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="arc" />
    <link:label id="lab_currency_CAD_61211EA37D63877C1B61EEE51D24780E_terseLabel_en-US" xlink:label="lab_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Canada, Dollars</link:label>
    <link:label id="lab_currency_CAD_61211EA37D63877C1B61EEE51D24780E_label_en-US" xlink:label="lab_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Canada, Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:to="lab_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="arc" />
    <link:label id="lab_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9_terseLabel_en-US" xlink:label="lab_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Singapore, Dollars</link:label>
    <link:label id="lab_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9_label_en-US" xlink:label="lab_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Singapore, Dollars</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:to="lab_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:to="lab_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Outstanding forward contracts</link:label>
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Asset, Notional Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:to="lab_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_222B540140FF7CD44903E67D62EE7FF8_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Raw materials</link:label>
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_222B540140FF7CD44903E67D62EE7FF8_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Raw Materials, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_B491054F0E7EAB9A32B4E67D62EE4B03_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Work-in-process</link:label>
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_B491054F0E7EAB9A32B4E67D62EE4B03_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Work in Process, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_87AADDBB2AC928680933E67D62EE0FCE_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Finished goods</link:label>
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_87AADDBB2AC928680933E67D62EE0FCE_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory, Finished Goods, Net of Reserves</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_E6240F2144FE1540AAF8E67D62EFD0A5_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:to="lab_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_88DBF9C5EC7F1DA480190564A7071FFA_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeLeasesPolicyTextBlock_88DBF9C5EC7F1DA480190564A7071FFA_label_en-US" xlink:label="lab_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Leases [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:to="lab_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_6D214071CC37BF4E793705655BAC0884_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">New Pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_6D214071CC37BF4E793705655BAC0884_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_5DD7FEBA2D99E6A914E9020C1D2E3520_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Remainder of fiscal 2019</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_5DD7FEBA2D99E6A914E9020C1D2E3520_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_6CAD187CFE78469B0B7F020C38DA6735_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2020</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_6CAD187CFE78469B0B7F020C38DA6735_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_F199901A9780B7BD9E81020C509CEDD3_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_F199901A9780B7BD9E81020C509CEDD3_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_B4DEBFFB24B2BED17768020C6621C207_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_B4DEBFFB24B2BED17768020C6621C207_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_391F052B2727797A1AA6020C7BC6FC86_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_391F052B2727797A1AA6020C7BC6FC86_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:type="arc" />
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_96D2EF69F9A22232F146020E43B46A29_terseLabel_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">2024</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_96D2EF69F9A22232F146020E43B46A29_label_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Six</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_96D2EF69F9A22232F146020E43B46A29_documentation_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Six</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:to="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:type="arc" />
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_5C27050CBD2361D9A5FA020EDFA2740A_terseLabel_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_5C27050CBD2361D9A5FA020EDFA2740A_label_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Six</link:label>
    <link:label id="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_5C27050CBD2361D9A5FA020EDFA2740A_documentation_en-US" xlink:label="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Six</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:to="lab_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:type="arc" />
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_9057F5C286D9AC8E563D020CCE981755_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_9057F5C286D9AC8E563D020CCE981755_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_F8816F4A7751399D47EB05562DA2FF33_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_F8816F4A7751399D47EB05562DA2FF33_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Contingency [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="lab_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_923003DDFE8B4C27F61A05562DA2208E_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_923003DDFE8B4C27F61A05562DA2208E_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Adjustments for New Accounting Pronouncements [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="arc" />
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_7E1ED6A365370E94BC1405562DA3CEDD_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_7E1ED6A365370E94BC1405562DA3CEDD_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Type of Adoption [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:to="lab_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_39337DC29AA789A67F8505562DA388EB_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_39337DC29AA789A67F8505562DA388EB_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_E0F9A7C9C83FFD99BECC05562DA39210_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_E0F9A7C9C83FFD99BECC05562DA39210_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCountryMember_37696166585BA9CA0F7605562DA3D15E_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority</link:label>
    <link:label id="lab_us-gaap_ForeignCountryMember_37696166585BA9CA0F7605562DA3D15E_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Foreign Tax Authority [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:to="lab_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="arc" />
    <link:label id="lab_us-gaap_DomesticCountryMember_FCE92CD595A1B22260EC05562DA405BF_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Domestic Tax Authority</link:label>
    <link:label id="lab_us-gaap_DomesticCountryMember_FCE92CD595A1B22260EC05562DA405BF_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:to="lab_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_E7D5B5C600AAEB52669405562DA4332B_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_E7D5B5C600AAEB52669405562DA4332B_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_01F6BBB8451998AB222C05562DA40C33_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_01F6BBB8451998AB222C05562DA40C33_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Authority, Name [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_52E135185774608F859C05562DA469A7_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue Commissioners, Ireland</link:label>
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_52E135185774608F859C05562DA469A7_label_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Commissioners, Ireland [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:to="lab_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="arc" />
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_725E52E086ED6B0E85D505562DA5D977_terseLabel_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">State Administration of Taxation, China</link:label>
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_725E52E086ED6B0E85D505562DA5D977_label_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">State Administration of Taxation, China [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:to="lab_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_B43BD8BCC7819754D55105562DA52124_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_B43BD8BCC7819754D55105562DA52124_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Contingency [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_BB1CB4D6CA2F6E21904B05562DA5E34C_negatedLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Decrease in effective tax rate</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_5955672051EB1FE59FD105562DA55A6A_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_1C7D96981A9320ED632105562DA6B0FF_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Increase in reserves for income taxes, net of deferred tax benefit</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_1C7D96981A9320ED632105562DA6B0FF_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Examination, Increase (Decrease) in Liability from Prior Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:to="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_61959A543C44D68E40CE05562DA62B2D_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest and penalties included in reserve</link:label>
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_61959A543C44D68E40CE05562DA62B2D_label_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Increase Decrease Interest And Penalties</link:label>
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_61959A543C44D68E40CE05562DA62B2D_documentation_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Increase decrease interest and penalties.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:to="lab_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:type="arc" />
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_E32A432E4AC48A4F65F405562DA66D22_terseLabel_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Liability for uncertain tax positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_E32A432E4AC48A4F65F405562DA66D22_label_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Liability For Uncertain Tax Positions</link:label>
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_E32A432E4AC48A4F65F405562DA66D22_documentation_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Liability for uncertain tax positions, total.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:to="lab_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_F98E0BC00888E581292705562DA624CD_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes classified as a noncurrent iability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:type="arc" />
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_40B355A504A7CE0A979105562DA6B2C2_terseLabel_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reserve for income taxes classified an noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_40B355A504A7CE0A979105562DA6B2C2_label_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets</link:label>
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_40B355A504A7CE0A979105562DA6B2C2_documentation_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:to="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_56B635CB79AA8DEAA7BD05562DA74C3D_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Interest and penalties, gross</link:label>
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_56B635CB79AA8DEAA7BD05562DA74C3D_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:type="arc" />
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_C46595FFD3CE762E96C505562DA7FE92_terseLabel_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_C46595FFD3CE762E96C505562DA7FE92_label_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Minimum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_C46595FFD3CE762E96C505562DA7FE92_documentation_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Minimum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:to="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_96AB75D2AAA5E21D335E05562DA7F944_terseLabel_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_96AB75D2AAA5E21D335E05562DA7F944_label_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Decrease In Income Tax Expense Due To Release In Reserves</link:label>
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_96AB75D2AAA5E21D335E05562DA7F944_documentation_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Maximum decrease in income tax expense due to release in reserves.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:to="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:type="arc" />
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEAEFEAE14695BC3087805562DA7EDE4_terseLabel_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEAEFEAE14695BC3087805562DA7EDE4_label_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_CEAEFEAE14695BC3087805562DA7EDE4_documentation_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Tax years open to examination by Internal Revenue Service</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:to="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:type="arc" />
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_D3CA1AA151D2F1624A0505562DA7DBF7_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Tax years open to examination by various taxing authorities for other entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_D3CA1AA151D2F1624A0505562DA7DBF7_label_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Income Tax Examination Years Under Examination Other Entities</link:label>
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_D3CA1AA151D2F1624A0505562DA7DBF7_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" 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:href="cgnx-20190929.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:to="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_B2BAA2A54DE52A53A6D1055A34CDFB9A_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Geographic Areas</link:label>
    <link:label id="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_B2BAA2A54DE52A53A6D1055A34CDFB9A_label_en-US" xlink:label="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Geographic Areas [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:to="lab_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_E29AB08F452204DE979A055A34CD7746_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Products and Services</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_E29AB08F452204DE979A055A34CD7746_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue from External Customers by Products and Services [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:to="lab_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_ECB8CC4E4323404E4305055A34CE777B_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure</link:label>
    <link:label id="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_ECB8CC4E4323404E4305055A34CE777B_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:to="lab_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34_label_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Class of Treasury Stock [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:to="lab_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share Repurchase Program [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program October 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program October 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program October 2018 [Member]</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_RepurchaseProgramOctober2018Member" xlink:label="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:to="lab_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A_terseLabel_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A_label_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Equity, Class of Treasury Stock [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="lab_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Authorized common stock to be repurchased</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Aggregate Number of Shares Repurchased</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Aggregate Number of Shares Repurchased</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Aggregate Number of Shares Repurchased</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:to="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Shares repurchased, value</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Value</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Value</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:to="lab_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Remaining Authorized Repurchase Amount</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5_verboseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Repurchase of common stock (in shares)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock repurchased during period, value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_F6CA68F746E2FD12BCDDE67D62F2FD8E_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized gains on sale of investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_F6CA68F746E2FD12BCDDE67D62F2FD8E_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Gains</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_8DA20B6953379988988CE67D62F202EE_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gross realized losses on sale of investments</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_8DA20B6953379988988CE67D62F202EE_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Gross Realized Losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_07C69D9D5686AD8BC544E67D634F5CBA_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash, Cash Equivalents, and Investments</link:label>
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_07C69D9D5686AD8BC544E67D634F5CBA_label_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:to="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_BBE5C50A7C3780857DAF021C7440F5AC_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_BBE5C50A7C3780857DAF021C7440F5AC_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_8FEFD2864AE7079A7EFA021C8CACC514_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Two Years</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_8FEFD2864AE7079A7EFA021C8CACC514_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Two Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_435867F0816DA38AECE4021CA1D2DF01_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Three Years</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_435867F0816DA38AECE4021CA1D2DF01_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Three Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_FCC88BED89679DE8EC32021CBCBA08B0_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Four Years</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_FCC88BED89679DE8EC32021CBCBA08B0_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Four Years</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:type="arc" />
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FA687B6E417968DC7D93021CD1B69F15_totalLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_FA687B6E417968DC7D93021CD1B69F15_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A7DCB106285059BDD6DE67D634118D4_terseLabel_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A7DCB106285059BDD6DE67D634118D4_label_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_07D42C93855F88AC59E0E67D63423C36_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_07D42C93855F88AC59E0E67D63423C36_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:to="lab_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_A4F94B9BEC344AB9408CE67D634237FE_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_A4F94B9BEC344AB9408CE67D634237FE_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:to="lab_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_A83F4730BA34992B5AE6E67D6343E949_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets</link:label>
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_A83F4730BA34992B5AE6E67D6343E949_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Prepaid Expenses and Other Current Assets [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="arc" />
    <link:label id="lab_cgnx_AccruedExpensesMember_F1A280A7D3E15FAEEE8CE67D634329EF_terseLabel_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accrued Expenses</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_F1A280A7D3E15FAEEE8CE67D634329EF_label_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accrued Expenses [Member]</link:label>
    <link:label id="lab_cgnx_AccruedExpensesMember_F1A280A7D3E15FAEEE8CE67D634329EF_documentation_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Accrued expenses.</link:label>
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:to="lab_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_E6B4E29C84E737F0570DE67D6343C944_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_E6B4E29C84E737F0570DE67D6343C944_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="lab_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_4D7494A2A086094DA43FE67D6343DD52_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative asset</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:to="lab_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_18C8ADBF11F947A3717AE67D63449402_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative liability</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:to="lab_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_13C106259C69DCA24F73E67D63FDB3DA_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_13C106259C69DCA24F73E67D63FDB3DA_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_54DE25343F72FFE82B32E67D634C60FB_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_54DE25343F72FFE82B32E67D634C60FB_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:type="arc" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>10
<FILENAME>cgnx-20190929_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!-- -->
<link:linkbase xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" 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">
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20190929.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20190929.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CoverPage" xlink:href="cgnx-20190929.xsd#CoverPage" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20190929.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20190929.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20190929.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20190929.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20190929.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20190929.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20190929.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20190929.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20190929.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20190929.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Leases" xlink:href="cgnx-20190929.xsd#Leases" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:href="cgnx-20190929.xsd#LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:href="cgnx-20190929.xsd#LeasesNarrativeDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/LeasesTables" xlink:href="cgnx-20190929.xsd#LeasesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20190929.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognition" xlink:href="cgnx-20190929.xsd#RevenueRecognition" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionAdditionalInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:href="cgnx-20190929.xsd#RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/RevenueRecognitionTables" xlink:href="cgnx-20190929.xsd#RevenueRecognitionTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20190929.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20190929.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20190929.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20190929.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20190929.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20190929.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20190929.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20190929.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20190929.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20190929.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20190929.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20190929.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20190929.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20190929.xsd#WeightedAverageSharesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" xlink:type="simple" />
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_20BDF22AD7DF59ACA182A9BE7A01A984" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_20BDF22AD7DF59ACA182A9BE7A01A984" xlink:to="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_25DEE7FC53F154ED8A7A1A4DE091805D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_29C7659932E11C7B1AF9B21A3A2C5BA9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:to="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_8E9ED01D996F62F64F13B21A3A356256" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_8EC0133E2AF319480710B21A3A357144" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_68BD4A2AB609C6343AB5B21A3A36FD0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5CAE9DD8336D06177722B21A3A372ACB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtMember" xlink:label="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_SovereignDebtMember_7A45A14082F8E19F0CA1B21A3A39F7E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_1B89FC869C67168B22ABB21A3A3A9463" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_cgnx_AgencyBondsMember_2325130ED830FCEF5B1DB21A3A3B4B32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_A2F7FBDBA19E591497A7B21A3A35BCE3" xlink:to="loc_us-gaap_MunicipalBondsMember_BDF46FDEA4EEA06006BDB21A3A3BD16F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_76085A758D92321743D1B21A3A3240C1" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_Cash_F76D2180CA91061D69BDB21A3A3C1A4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_CF0074D3AA9B290D477DB21A3A42BAE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_82F38F0F3649FF49A12EB21A3A42BAB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_CAB50CF76C7AB91F49E3B21A3A428A78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_516ED49F7509DA1DEE11B21A3A42B359" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_us-gaap_LongTermInvestments_AF4287DCA9E1EC730B07B21A3A43C881" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_0260B37EB4BCBE0E9C06B21A3A3B7B47" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_1855D376DDC664571516B21A3A430E43" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_77A388430D5453EA8F893CDE9C36BFC0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_77A388430D5453EA8F893CDE9C36BFC0" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_3B031D6288005E02A6999E879F27543F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_77A388430D5453EA8F893CDE9C36BFC0" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_921EC5B6058256648B05EA4E9CEA3831" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_AF6AFB83FEF127545922EF10F64E2F8F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_AF6AFB83FEF127545922EF10F64E2F8F" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:to="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_DE9F9C8EDAC8E9E08DCCEF10F64ECF24" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_87C997D82E72C480608AEF10F64FFAEB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_87C997D82E72C480608AEF10F64FFAEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_9E329FEB8E475D206E49EF10F64F0E24" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_9E329FEB8E475D206E49EF10F64F0E24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_60D9D6AFC40FF3CD5186EF10F64FDDBE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_60D9D6AFC40FF3CD5186EF10F64FDDBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_AEBC538F63A00BA963F4EF10F64F84EB" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_AEBC538F63A00BA963F4EF10F64F84EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_27DBE221EF2EBC8BAE39EF10F64F68EC" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_cgnx_AgencyBondsMember_27DBE221EF2EBC8BAE39EF10F64F68EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_E1108AF61FD7FE8C0CF9EF10F650FE83" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5396BDF12361298DDA8BEF10F64E64CD" xlink:to="loc_us-gaap_MunicipalBondsMember_E1108AF61FD7FE8C0CF9EF10F650FE83" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9981D5A82232ABDFBF12EF10F64EF9AD" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_C30D1A85E1E7073B60C0EF10F650172A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_5331A01D6DC71135BE70EF10F65020BA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_047A6CB2E60C293C7C79EF10F6502588" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_0F3C692D4EDA28D12D9AEF10F651D819" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_A79B7031A300B723D4FFEF10F6510D62" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_E1F9FBF8614497D8E920EF10F6500997" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_53B9E58A8447E3392DCFEF10F656AC4A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_0D9E8A090921513B90D2B21F887C79FD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_0D9E8A090921513B90D2B21F887C79FD" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:to="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_C3E411CAD702DA1EAAD5B21F887CD682" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_AAB37B92602BAF4402DDB21F887DFF59" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_AAB37B92602BAF4402DDB21F887DFF59" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_5DE6E69786778BD80871B21F887D58B4" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_cgnx_AgencyBondsMember_5DE6E69786778BD80871B21F887D58B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_F3E934D5910C83AA702CB21F887DEA0A" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_F3E934D5910C83AA702CB21F887DEA0A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_9D4941D0990370E1D09AB21F887DBDCA" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_9D4941D0990370E1D09AB21F887DBDCA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_93FE157588D648F3FD94B21F887ECA0B" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_93FE157588D648F3FD94B21F887ECA0B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_E1219D0F4B3EADAE50C2B21F887EAE4B" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_5B89EADAC17CB668E831B21F887C8CEB" xlink:to="loc_us-gaap_MunicipalBondsMember_E1219D0F4B3EADAE50C2B21F887EAE4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9D3BC8BB8C32045B0354B21F887CB0AA" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_396BA7AEDF39D02951C4B21F887E65E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9A5CBEA146DEC87689E5B21F887E6DB7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_28CC482EA9D639737D7FB21F887E5D29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_48F5FA6423648E32B24BB21F887FB4A0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4CF27BC8CF76DAC66EA1B21F887FA4FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FB1C1DFFB581FB8ADF80B21F887E919A" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_BBAF8856FD3CB7D1201DB21F887FCE36" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_FFE3C78CDA0D064D0DE9B21D4EFA8829" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_FFE3C78CDA0D064D0DE9B21D4EFA8829" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:to="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_11DB4AC428FFF2C3A2CEB21D4EFA07A4" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_523B3B88443B7D99FD90B21D4EFBCADA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_cgnx_AgencyBondsMember_523B3B88443B7D99FD90B21D4EFBCADA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_B9C1E119B3B2C891773BB21D4EFBE71B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_B9C1E119B3B2C891773BB21D4EFBE71B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_E0349B9194FF5DCDBB57B21D4EFCC2F7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_E0349B9194FF5DCDBB57B21D4EFCC2F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_856CE311C185E020BFD9B21D4EFC2B71" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_856CE311C185E020BFD9B21D4EFC2B71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_62A60B0B9932E79B4315B21D4EFCBE4A" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_62A60B0B9932E79B4315B21D4EFCBE4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_7B739C82823EBFEAED06B21D4F010B90" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_52B018D2B7AF4C9F9984B21D4EFB0702" xlink:to="loc_us-gaap_MunicipalBondsMember_7B739C82823EBFEAED06B21D4F010B90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:to="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeAxis_B2076FA9FCCE1A110BF8B21D4F01FBAC" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_7F248C6DAFBE1133835EB21D4F023D24" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_E32D876BE80631F61988B21D4F02322C" xlink:to="loc_cgnx_LongTermInvestmentsMember_463E5C12C2E77BB810FCB21D4F025CFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_9513A2EACA0E958925A0B21D4EFAE819" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_FA6DA8C844DFEDF50F25B21D4F0330DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_30AEC4897C1E30F8CAF4B21D4F03E107" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_CE35ACE48F852DF31B16B21D4F03660C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_BAFD7F4E3F5E0C522C8CB21D4F022891" xlink:to="loc_us-gaap_AvailableForSaleSecurities_1BB1527E256FE43ACC75B21D4F03422A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_73C6182BE59558AF9D0F87005D60C68E" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_73C6182BE59558AF9D0F87005D60C68E" xlink:to="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_1CA6D6024CA8547087E0A64D13D4F23B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_73C6182BE59558AF9D0F87005D60C68E" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_E2C7A959CAFE599188E42953EF229517" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_73C6182BE59558AF9D0F87005D60C68E" xlink:to="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_16AF178CEC3254D8AFB5DAFA33140263" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_73C6182BE59558AF9D0F87005D60C68E" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_5006FF70090955AEA5AEF0390989C7D1" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:to="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_012BB900F4B0C5A553EEFB0DDC1AA87D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C86FCF5B9BE82D3F0080FB0DDC1A2FA3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_C86FCF5B9BE82D3F0080FB0DDC1A2FA3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_6820394024139E12F424FB0DDC1AC86B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_D19F2C1C74359DC6A26BFB0DDC1AF9B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_InventoryNet_D44EA101C738D083B702FB0DDC1A843F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_A23EFF047042E99685A5FB0DDC1A9BB8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_8120D07E7794C287C6DFFB0DDC197556" xlink:to="loc_us-gaap_AssetsCurrent_285D0A13AAE2A69C999EFB0DDC1BC0C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_C659350B2F105E8A55E2FB0DDC1BE922" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_LongTermInvestments_C659350B2F105E8A55E2FB0DDC1BE922" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_2EFCD76C097B470436E5FB0DDC1BB9C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_A311A46882DAFF5D45D8FB0DDC1B500E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_Goodwill_D8EABAD894996EE01AE0FB0DDC1B550E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_084DAB9E5CBD6F965747FB0DDC1B72A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_83D840544458C1E781C7FB0DDC1CFA49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_B558B11F622EC9C2D991FB0DDC1C1C96" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_2D24894771852D205ABCFB0DDC191B58" xlink:to="loc_us-gaap_Assets_6874A0B4CCD67D4E9DE7FB0DDC1C9825" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_93B56AEA3DC8979704FDFB0DDC19BF9E" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_AccountsPayableCurrent_283B8B695226491CC450FB0DDC1D1553" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_2720859132B32FE1069DFB0DDC1D1A87" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_3D488727DCF27BE41BFFFB0DDC1D86C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_631E95DF7A171570DB3BFB0DDC1DA632" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_C53252B0BDED8C43611CFB0DDC1DAFAF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_E6BA69CDCF8180BE14E9FB0DDC1C1674" xlink:to="loc_us-gaap_LiabilitiesCurrent_FAA95DBE4388C782657BFB0DDC1D96C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_F7D7364A4C3F64BD3255FB0DDC1ED8EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_7DC6B6CDA90DDAC42270FB0DDC1E2B85" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_9EDE20CCCF7941C98865FB0DDC1EE296" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_AccruedIncomeTaxes_ACD1E87079D825723440FB0DDC1E9725" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_2CE5A3D21980AFE4BB3BFB0DDC1E896F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_Liabilities_88D6077F4E2B7B77535AFB0DDC1E48DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PreferredStockValueOutstanding" xlink:label="loc_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_PreferredStockValueOutstanding_64B2CF189B0AFE3D9B31FB0DDC1FBFC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="loc_us-gaap_CommonStockValueOutstanding_7DEDD2D7795EA60AEDA1FB0DDC1FAC05" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_6955D59BE3DC4027F1B7FB0DDC1F248D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_32397CF3903769890375FB0DDC1FCFFE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_7129629A7BFCB264D0CAFB0DDC20D53A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2F6C2584A877DB92C648FB0DDC1FD96E" xlink:to="loc_us-gaap_StockholdersEquity_2B52B59EAD8F3FCB4036FB0DDC20D7DD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_078D5834008ACB4E576EFB0DDC1C4178" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_6F06E770C5CB470840BAFB0DDC2064DB" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_BF484B43E5095D38A0BC9AA7CFB1727E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_BF484B43E5095D38A0BC9AA7CFB1727E" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_03E48FB246115A3989C034BDA7C80773" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_BF484B43E5095D38A0BC9AA7CFB1727E" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_CC29A24D8DB6575D92A6ACB0545C42BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_BF484B43E5095D38A0BC9AA7CFB1727E" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_04D5F8BA7A9857CB8DD507BBA4CBB51E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_BF484B43E5095D38A0BC9AA7CFB1727E" xlink:to="loc_us-gaap_CommonStockSharesIssued_A7CA4A4574FE53AD9574E905D1121A9F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_A96ECD4EDB16C35AA2F2FB0DDBEBBFF6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_A96ECD4EDB16C35AA2F2FB0DDBEBBFF6" xlink:to="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_561C948AD6D6CF38B377FB0DDBEB9CC4" xlink:to="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_CommonStockMember_131478DA598A8569EB44FB0DDBEC9AE7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_DE053748D93CB4A1DD5BFB0DDBEC8079" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_RetainedEarningsMember_D8AE26B8E624759C616CFB0DDBEDF615" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_EAD6552A9D1E00ADC9B1FB0DDBEC7BD6" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_E27B33D1891315BB3268FB0DDBED2D4F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_9CE7ED8B4E5C09540C72FB0DDBEB7E46" xlink:to="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_FE5BBC2502A3E037CDF8FB0DDBED5A1A" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_CommonStockSharesIssued_B01CBB62F657646202CCFB0DDBEDD0F6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockholdersEquity_6F5B53C9A730EB18BDC2FB0DDBEE114B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_181E3673C198E76732A0FB0DDBEE4D75" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_C180FC6FB884AB964D2DFB0DDBEE81F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_E6FF2ED5ED7A95C0FF36FB0DDBEEC6EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_03BFC5361D06A35E8458FB0DDBEE340B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_498CB85602A93AC5A41EFB0DDBEF0B5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_DividendsCash_8DF0F1D958B1FF83BA5AFB0DDBEFF72E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_1789D8794939C8B8FE74FB0DDBEF90BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_NetIncomeLoss_903844CB596D752D3D17FB0DDBEFFA84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_7FFA04DB3416E3B08FBDFB0DDBEF94B2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_5CBB498554B03273DA07FB0DDBF076F9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3588D0653DBB72BADB74FB0DDBF0E66A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_CommonStockSharesIssued_07FBF99B69E1F7D64E46FB0DDBF086EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_765B950EB89DC8B4B9D2FB0DDBEDCCD4" xlink:to="loc_us-gaap_StockholdersEquity_D932BE56D92E3F712560FB0DDBF0A599" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_30937592B45C5269A83988B130EADB06" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_7F0AF4E4947B5F0EBE05B9AD5B03FB6A" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_30937592B45C5269A83988B130EADB06" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_0E88684C95865FF186BCB70739300547" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:to="loc_us-gaap_NetIncomeLoss_0E88684C95865FF186BCB70739300547" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_StockOptionPlanExpense_86911DD20D3F571FBF9FA2617ED1AED6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_Depreciation_008E74BBC8945A27A53436C4ED62D397" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_90E714A6E0EA50BFBB5001A5176D7019" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_1E952B9AA57855518E2EF6C70F0CD941" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_620F85E9F06D5B8893E62209E454DF04" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_8BBE30BAE9705FE2A1675F90AC3438A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_3E4C1E6829F15420BAA6F9727E36FC29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_AD76A255D1575E0C83DC0C2B4034BED4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_FD885513679D5DB38DD7987A8EB089D1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_342E61EE230850D79B3DD1272FD5B607" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_C0C7F7189EEC52BABA78B36DA6D83804" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_2BA1EDCA23615AEE85824AABFFCE1BC2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_0893F53B2E945A8C913B3FE84F3C6CFF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_438B2DCA1A0E5FAAB86F300F40324B4C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_CDB835349D0B554DB7C1DF870F9FA359" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_E510D0019660598F8E422218BD9E4FDB" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_F3E1E84A706759DDBAEF2A7507662C7C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_3B0ACC68FA6053D391FDB93CD75668D4" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_1EDF233EF5B9557A8E6CD2F63024D57D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_36D7240798765E539D968419CED4CC4B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_18BD33A7CEC2509E977EEB3F09C14BE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_1D6E78A69EBF5349A7A7D5C4DB5ECF6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_307DAED9AE745978A75D9506BFA54631" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4CB5E14AD2C85E1EB08C5DDFC6D5BA4C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_394424B4EE5E514A8493DEADFE36325F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_DCA1C9BB7A1F5222A7DD21262729D589" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_6044FE38F28E5F45BDB3A34925AE2280" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_943010F798AA53588BD2AC6315EFAB97" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="loc_cgnx_Paymentofcontingentconsideration_943010F798AA53588BD2AC6315EFAB97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_4CB5B45EBB835BE6BE6C13DFD4136BB9" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_1EB355EA768F5ADAB969B40D1EE367FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_E46759209CEB573896AF4438DA1BF6FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_1E820148382554E9A5CF039D08DE1CAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_04AEFA70802651FC9AEEC05A227B73C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_66B8109206985969B1BD6AD6E062AD59" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_900AD82F4F285DC5AF6B60241DE4581D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A9B3D892E6F4C8F2C817FB0DDC2D1525" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_6E61DCF9BE879722A994FB0DDC2D71B4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A9B3D892E6F4C8F2C817FB0DDC2D1525" xlink:to="loc_us-gaap_NetIncomeLoss_6E61DCF9BE879722A994FB0DDC2D71B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A9B3D892E6F4C8F2C817FB0DDC2D1525" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:to="loc_cgnx_CashflowshedgesAbstract_335FFB00820882227C58FB0DDC2D18B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_146A5B86F0F048084546FB0DDC2EFCF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4A93DD03ABA4CDB4AF0AFB0DDC2E00D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_08A9B54943474BA527CDFB0DDC2EA0EA" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_437354AD23F324EEC168FB0DDC2ED7FC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:to="loc_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_60E7F28C66CB5AF36B5DFB0DDC2ECBDE" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_6D385BC1E8D2D7004720FB0DDC2F4A0A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_FBF6E4172A26D91AC3FCFB0DDC2DDA96" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_7EB6FBEED4A701037FDEFB0DDC2FD62F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_A9B3D892E6F4C8F2C817FB0DDC2D1525" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_10E9EE99A1F26A2D9C7DFB0DDC2F82FE" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_3B1CC2FB491D59778290D8B756076DCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_346E84380B9256128D4B11C4E285CC7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_02F0B6198948585AA1E19F74FA641992" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_75BBA1A0A03657589CA863EE482A55A3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_393B20439FB8566C8D33F9EBAB999906" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_393B20439FB8566C8D33F9EBAB999906" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_0F0A5CE5BB955CF7BA70893CF93341F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_GrossProfit_98082C29F36B58B28804B35F4DCDAFA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_0350CCD5C7EB50B3963CBF13F165181B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_0E21E56564365F328B27D868D7FA0767" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_OperatingIncomeLoss_B8A248824BDB536E9719B7F434E8E136" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_335249BE13F257CBB011752B0AB04583" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_A4185168404D561F855012F7F60C92A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_E963D0ADFF10535F98097AA72FB1BF34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_C210AC4CC7A054DFAAAFA332F6FEF753" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_63D52FCBDA0D5E79975C4190F4CF56FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_NetIncomeLoss_9D78E212EDB2547F9E49870B10FD7A59" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_A205CA19650F5BE4A88D20BD85969D29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_0224FF425D655B4496786E65D6F939C1" xlink:to="loc_us-gaap_EarningsPerShareDiluted_C6F34C48121659B992D282655C1F2655" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_9CBC630A2EFA5C189AAD3DC7FCB0CDCA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_5D42C00D9A9A50D2816A9F30612A5F68" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_B19ECC44CF5152C5A5109AB22027487C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_4F1B819A54585A2C89C14ED408152D95" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_CEE168E53C6F5B77A70AB684B4F00684" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/CoverPage" xlink:type="extended">
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract" xlink:label="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:type="locator" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_262AA1AB09825C32B909D4F1B99F201D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentType_262AA1AB09825C32B909D4F1B99F201D" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_dei_DocumentQuarterlyReport_D8259FE0D9055064A61729077D078395" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentQuarterlyReport_D8259FE0D9055064A61729077D078395" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_204EEFF2F1BB59E5B1F08DA2AD6B53AF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentPeriodEndDate_204EEFF2F1BB59E5B1F08DA2AD6B53AF" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport" xlink:label="loc_dei_DocumentTransitionReport_86D80C82AFB8567E855E21ADA1257132" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentTransitionReport_86D80C82AFB8567E855E21ADA1257132" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber" xlink:label="loc_dei_EntityFileNumber_EFDCE492150E5EA0BDD83EE78368C5AB" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityFileNumber_EFDCE492150E5EA0BDD83EE78368C5AB" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_AC5294032A985921A488D8E43C85B1DE" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityRegistrantName_AC5294032A985921A488D8E43C85B1DE" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_B39EA656AF375BFE969BBC612ECBE9B4" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityCentralIndexKey_B39EA656AF375BFE969BBC612ECBE9B4" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_799679F1B69359F1BAE4247D79D99562" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_CurrentFiscalYearEndDate_799679F1B69359F1BAE4247D79D99562" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_851E69FBEDE35F36974BB9EB268F058F" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentFiscalYearFocus_851E69FBEDE35F36974BB9EB268F058F" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_FD430F43F3455519A657FD63B23459DB" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_DocumentFiscalPeriodFocus_FD430F43F3455519A657FD63B23459DB" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_9B34B393171051B4AEA0CDBCB4AB3192" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_AmendmentFlag_9B34B393171051B4AEA0CDBCB4AB3192" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_dei_EntityIncorporationStateCountryCode_7CA68BF66FB45EE5ADDE925BA14F78A6" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityIncorporationStateCountryCode_7CA68BF66FB45EE5ADDE925BA14F78A6" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_dei_EntityTaxIdentificationNumber_8A71DCD5909D5005913C4729A9923D12" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityTaxIdentificationNumber_8A71DCD5909D5005913C4729A9923D12" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_dei_EntityAddressAddressLine1_282A9CD14F2E5BA88B494ABA35B38A7E" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityAddressAddressLine1_282A9CD14F2E5BA88B494ABA35B38A7E" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_dei_EntityAddressCityOrTown_3FF1D11E13A2504F9CE4D9E0FA42BCAF" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityAddressCityOrTown_3FF1D11E13A2504F9CE4D9E0FA42BCAF" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_dei_EntityAddressStateOrProvince_13C6EDC9EF8E5261AE413FEBB2447676" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityAddressStateOrProvince_13C6EDC9EF8E5261AE413FEBB2447676" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_dei_EntityAddressPostalZipCode_BEAC92CD2610598BA51A398B6203B62C" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityAddressPostalZipCode_BEAC92CD2610598BA51A398B6203B62C" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode" xlink:label="loc_dei_CityAreaCode_797BAECEED145EDD95B3780FF6A07B9A" xlink:type="locator" />
    <link:presentationArc order="18" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_CityAreaCode_797BAECEED145EDD95B3780FF6A07B9A" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber" xlink:label="loc_dei_LocalPhoneNumber_A0A21EE4E13459A3AB6B1C31F35617EB" xlink:type="locator" />
    <link:presentationArc order="19" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_LocalPhoneNumber_A0A21EE4E13459A3AB6B1C31F35617EB" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_dei_EntityCurrentReportingStatus_170343E61B385D629E58BC5C4ACF1F81" xlink:type="locator" />
    <link:presentationArc order="20" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityCurrentReportingStatus_170343E61B385D629E58BC5C4ACF1F81" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_dei_EntityInteractiveDataCurrent_5DBC7D48857C569789A8C399FA3EE8DE" xlink:type="locator" />
    <link:presentationArc order="21" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityInteractiveDataCurrent_5DBC7D48857C569789A8C399FA3EE8DE" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_83303B0E485E598893C84F5D78F395D5" xlink:type="locator" />
    <link:presentationArc order="22" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityFilerCategory_83303B0E485E598893C84F5D78F395D5" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness" xlink:label="loc_dei_EntitySmallBusiness_85CCF130AF04539B8E5B9C8F10257719" xlink:type="locator" />
    <link:presentationArc order="23" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntitySmallBusiness_85CCF130AF04539B8E5B9C8F10257719" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_dei_EntityEmergingGrowthCompany_0CD8F958D3D2502D94422E40D494949B" xlink:type="locator" />
    <link:presentationArc order="24" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityEmergingGrowthCompany_0CD8F958D3D2502D94422E40D494949B" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany" xlink:label="loc_dei_EntityShellCompany_DF1F0636124A5835B2A1ADDAABB847B0" xlink:type="locator" />
    <link:presentationArc order="25" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityShellCompany_DF1F0636124A5835B2A1ADDAABB847B0" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle" xlink:label="loc_dei_Security12bTitle_C74C20280727502AA92C971C165869A4" xlink:type="locator" />
    <link:presentationArc order="26" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_Security12bTitle_C74C20280727502AA92C971C165869A4" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol" xlink:label="loc_dei_TradingSymbol_731F560661D150CD8891DE14A8FB7DEF" xlink:type="locator" />
    <link:presentationArc order="27" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_TradingSymbol_731F560661D150CD8891DE14A8FB7DEF" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName" xlink:label="loc_dei_SecurityExchangeName_98FFC216DF7F5BAA8AC2C007FF4B7B20" xlink:type="locator" />
    <link:presentationArc order="28" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_SecurityExchangeName_98FFC216DF7F5BAA8AC2C007FF4B7B20" xlink:type="arc" />
    <link:loc xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_1EB1D85848775DE9A8A34C0C13B00012" xlink:type="locator" />
    <link:presentationArc order="29" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_E9E52A00039F50DA82888727E7D0259E" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_1EB1D85848775DE9A8A34C0C13B00012" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstruments" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9A7DC63D033D51A985749CE15D139B64" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_9A7DC63D033D51A985749CE15D139B64" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_DB490503F42B5988A5C344E3E66B68EA" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_57F8355DD1A559AF85528F0059760EC7" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_68E74C4F1B1153E39CCD35074F034D42" xlink:to="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_8DB03D8F78355627818B526ED059BE0C" xlink:to="loc_us-gaap_NondesignatedMember_ED042BD0EE0D586486B9F66A9F3C8588" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_CA5A21C4829258739604BA04A8328C58" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_ACF4C84413FF5BFB9E279DB09EC51039" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_8E06F3A51EBC55CDA4844A484661F50C" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_10FBB4614CC8555CA0FBE36B977DA76A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_1E4882A7A25C5869B6E09CF3B9AFE5E4" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_67A9B96662185AE783E2575D3606D18D" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_072EE73D898E51FCB7F0FE999C959E42" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_33C2B187CAD65EB8B3EEC39DB6A71B20" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_33C2B187CAD65EB8B3EEC39DB6A71B20" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:to="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_22CA40CBBC0F5F749637C1BA8735BB69" xlink:to="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_A8C7975AF13B507BABB471D77F80D857" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_8AEE419A0D6950489F54C53C5BAD1BA7" xlink:to="loc_us-gaap_NondesignatedMember_A8C7975AF13B507BABB471D77F80D857" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_F75436D533B45F9BAF0E85EE79A75643" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_E64BC1FEB08F50BD99451BD7DEAF428B" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_8CAC8C3147925252A743A6BDF5501426" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_65D170572D3D56948453D47D8547938A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_13C5300D4C0A5C1D838388E75567F44B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeAssets_B32E3687753352CC9E151E696385704E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_0F4BAADB04A3589996FA69BEAFB16C6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_F01A5E69724C586A8E5CD29A7284ABDF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_A6F51015AEDF52C7B1E9EB2422F4E020" xlink:to="loc_us-gaap_DerivativeLiabilities_1E67ED6A7590542C911CD6C915C78A14" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_C2D710B984B5C62D0EFDEEE51D16E861" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_C2D710B984B5C62D0EFDEEE51D16E861" xlink:to="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_7BDE9896819317A1E8EDEEE51D2064C7" xlink:to="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_86BDD59EE5B33C647F85EEE51D21CAE3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_94D22B55730F5168994CEEE51D20F227" xlink:to="loc_us-gaap_NondesignatedMember_86BDD59EE5B33C647F85EEE51D21CAE3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_CurrencyAxis" xlink:label="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_AllCurrenciesDomain" xlink:label="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_CurrencyAxis_D66761BE9BE9BAE6F4F7EEE51D22FAE8" xlink:to="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_EUR" xlink:label="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_EUR_5492104E9E3851CBD24EEEE51D22D46F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_JPY" xlink:label="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_JPY_56928F71F378B0249BFFEEE51D230975" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_MXN" xlink:label="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_MXN_0AFDA671156E9C4AA772EEE51D237FCB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_GBP" xlink:label="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_GBP_9AC791F54CC96796280AEEE51D249AA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_HUF" xlink:label="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_HUF_3335D9E67B70D8F463BAEEE51D2468BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_KRW" xlink:label="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_KRW_E07E6F51FF283B37820AEEE51D246E01" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_TWD" xlink:label="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_TWD_F6759051EFAC1F67646FEEE51D2480CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CAD" xlink:label="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_CAD_61211EA37D63877C1B61EEE51D24780E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_SGD" xlink:label="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_currency_AllCurrenciesDomain_F6F90BF88B7E3F98F921EEE51D22F5B5" xlink:to="loc_currency_SGD_6115FF34E544A73813AFEEE51D24A9A9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeTable_4CBF74F52E830F726E4FEEE51D1CA868" xlink:to="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeLineItems_2EE7154275694BF7B75EEEE51D24AA33" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_88B3F0E5958EDDCA7B94EEE51D254BA0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_2E83315C9E095F9497187717BCDE0DCC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_2E83315C9E095F9497187717BCDE0DCC" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationAxis_656B6878DE1C5FB695AC270C22A0C791" xlink:to="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_530355638974586B95676599AB8084C0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_HedgingDesignationDomain_22603373D0715B598509E8BA8B47FF1F" xlink:to="loc_us-gaap_NondesignatedMember_530355638974586B95676599AB8084C0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_02CE209D2F275A5F9506EC549B2FE617" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_BE028EF5D3CA5D8E8AB83E21266E4DD1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_97A3AFDE582E5F799442F6D77FF39E80" xlink:to="loc_cgnx_AccruedExpensesMember_88892514E96F5276B7F6A9F89559A473" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_7A9C0FD34F9C5CEA979B8CE7B7CC170E" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="loc_us-gaap_DerivativeAssets_65A31A77FF085EABA918ABAA8526A90B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_9D1C24CB6D0A5EBCAE1569EC1242A505" xlink:to="loc_us-gaap_DerivativeLiabilities_6806153938AC5679A3014523E73F4420" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_98F23E3B59D35CC9A5FBA391D6091120" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_98F23E3B59D35CC9A5FBA391D6091120" xlink:to="loc_cgnx_OutstandingForwardContractsTableTextBlock_25DBA2F0E82A577393BF9FF334CBF809" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_98F23E3B59D35CC9A5FBA391D6091120" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_C07A7D180D8854409E342F1358F1528B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_98F23E3B59D35CC9A5FBA391D6091120" xlink:to="loc_us-gaap_OffsettingAssetsTableTextBlock_5F02B073A85D516E9414D8C718EEADDE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_98F23E3B59D35CC9A5FBA391D6091120" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_F4D2E5DAAB7554B6803AAF97C66F052F" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_58D404C1D504571498AD96C10668159E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_58D404C1D504571498AD96C10668159E" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_23D3AE64A11653C89BB76CF26E8C3F82" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_E3A85BE7E948560EACD5E0CB7D22053A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_E3A85BE7E948560EACD5E0CB7D22053A" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_6876FEBC01505277A9A255378F710764" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_5B4CAE55436755349711775F20332451" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_F680702428DC58CD9363FA03AFEF4C8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_241FEA82080E551CB1BF947E7E94B485" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_E3A20E025EEF537B85F7CC2B3AE72C72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_5999D482A7D9534893C80C7CD228A985" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_DEC4BCA41DC35D5DBA46D5360F0952BB" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4EF569882D065CA39248437EF562B88A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FinancialInstrumentAxis_1BCF362DA19C54FABD05D02AF35E749E" xlink:to="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_36A510DD56EB5212807BD7FA36DA1184" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_36A510DD56EB5212807BD7FA36DA1184" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_1D2C212E857658AABC6208B0C11FD1A8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_1D2C212E857658AABC6208B0C11FD1A8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_C942B592C70955D5A3DA645AAA88FDF5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_C942B592C70955D5A3DA645AAA88FDF5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_240DB0ACA26C517D8D803A7A9AD07A28" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_240DB0ACA26C517D8D803A7A9AD07A28" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_0A6929F3E97552D58170545B43220B48" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_cgnx_AgencyBondsMember_0A6929F3E97552D58170545B43220B48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_65EBC746863E53DDBB0DDFF0D2CDEFDC" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_78076BEC0D565BD1AA4B6B020C59140C" xlink:to="loc_us-gaap_MunicipalBondsMember_65EBC746863E53DDBB0DDFF0D2CDEFDC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_3ABBC7E9C008504BB6F3AAB20F379981" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C9FF2B54369B5E6EAD1F629DF48B11A1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_C9FF2B54369B5E6EAD1F629DF48B11A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2409DF57674055A8AFE1B2CF42BCDE0F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_336FD90B9B5756AB837A805AD526C7F7" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_CF185279BCB85F7BA400A63E17D4E2FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_A51260F81A5D5F10A3C2770E81ABFE93" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_D2CACA46344D5A8E97888FC4F3B43E8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_12C297D0800459F1940DD121E6D12664" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_3A1028FF2BBC54479155F8A74ECD857E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_2E04ED28E43F5B18946B00ED4703EB65" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_2E04ED28E43F5B18946B00ED4703EB65" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_2E31A2D263B55AF980376057E49D2402" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:to="loc_cgnx_GViVenturesInc.Member_00E115E1B7385E28B44634F82CB10255" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_9FF443C1D468571CBBC9236A2BE71AAF" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_5FB8401CE5425DD8B362E4CAA6205671" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_5ACEFF5C7DEE5E76B8C5987A1C00F301" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_962D823FC42E57C285A6B6B972937EA2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_5DAA4E0DF0E650E29409E7D88ABF9225" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_962D823FC42E57C285A6B6B972937EA2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_72F10A56FE735F8699B4318208D849D8" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_F3095F084700599295EB428CD26484B0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_342F9E8E2DD35DB1A9757C0C49749E6A" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_F3095F084700599295EB428CD26484B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_F8A02854571A521F89A4F8E2E1A94AC6" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_89788877146B5048BC7BF3556572A917" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_BA49951E16F652E5A3C462F315043E42" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_cgnx_Paymentofcontingentconsideration_59A2032E5F625819AE07DC99E407D74B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_10B46F786C585EBCB7E883593E2B1DA5" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_63A802F838BD5AD5B94A753BAAB015E3" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_0FF152D9004E5AEFB907138BDFD207C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_0335A1FC2DFD55EF96826A1146971E13" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_300AA6F5E41051D980E3E0487F5CBCE5" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssets" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_A30B1ADF306156659E9C7CD58C1A53F4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_A30B1ADF306156659E9C7CD58C1A53F4" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_489CF4D3AEA85CE2A996C9D80FB0417D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_54DB9D7CB19A57FF9EB7B28731480929" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_54DB9D7CB19A57FF9EB7B28731480929" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_F0CDA702C5AB51EFAA8D33EBAACC9DBA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_DistributionRightsMember_956C9FB1049E572DB4CF24D0C8737ED8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_FFAA6EFEF915551D9EEC579AD33DE6D5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_8F165F2F1D7C53868C1C46C2BD4E44C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_BF0E4CFAA3BF54498FCA00EE6F94EE49" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_E359C122AD5B56F581E377D7CFFF502D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_2CADD52B6F675860BF4439E232A5AFBD" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_985EB97AAFF456BFBD6B15EE80E8ED73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_4B2C3C32C7175DD8B71B1D65B3C900BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_BAAF2B544C675BEDA770E2C9A886ADA9" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_87DEF43D8E2B50BBA4EC19C943A5FD7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_4CAF2848912750A395FCCFF4FE582BDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_A8C6B1D73B8A547788B99EB9DD2684F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_8328929244CA5DD3B6E2BA5F00E18D6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_E51BD63710AE5D5F837D70DCDE54B525" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_A04F62B248095B9D8B0870F4DB7B3027" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_4B8C74C28335509887C18ECC351AD697" xlink:type="arc" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_D546AEF687AA53E0BAB4E638BDFB3B4E" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_154EC453F7A758F3B3EDBB59F4291EBB" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/IntangibleAssetsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_359DDB42647E58C6AEE135DBB596A9AF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_D47EEAFBE2315E5F867B397EDB80DB9E" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_A3DD7F6A572A5FA38E8987FDE9BCF17A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Inventories" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_895C0DD474FE54B3AC195E7D3BB3B577" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_895C0DD474FE54B3AC195E7D3BB3B577" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_AF09826F4E965FF8AFB6EC5D13E5C1F8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_D1AA346D3FEA5D5C81B2CDF00B04DFFD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_D1AA346D3FEA5D5C81B2CDF00B04DFFD" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_CE4B3D8AEC765E728AB932CB8BB83CA6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_D1AA346D3FEA5D5C81B2CDF00B04DFFD" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_B72FE0C436CA5F9F88F3B1779331FE6F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_D1AA346D3FEA5D5C81B2CDF00B04DFFD" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_9AE1381225E455759EA44F4273F19672" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_D1AA346D3FEA5D5C81B2CDF00B04DFFD" xlink:to="loc_us-gaap_InventoryNet_7C6E76840D0E5878AE2CF9333741529E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/InventoriesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_BDF70B91FC925C99A687084314D0BCF6" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_5C9831113E6B5F4293B5137B24C67A50" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Leases" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_702AA109CE3E5B11B669984129171C58" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_702AA109CE3E5B11B669984129171C58" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_E237ADD95FF8560680F415C2EE91EA3B" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_1FF1AB21198151C6AB23710D3A1A4CD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_31BC7B37B4C65500A466BBD2036B6A29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_C3802209F34652138AED82100D3A4D21" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_9674955558D5552D991B6D0A9EF00E47" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_C23308ABC2745A26A65B46BA0E384F03" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix_4FA230A19D0B50EDACF2A55FA380E3A2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix" xlink:label="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix_3B7E1F51206556BAA30C45FB7359404E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_6049AFC1A14450D18F4AF040FEB7A8F5" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_5C00D38EE88F547C8DAA59C8D75E15BC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear_E914404656D256B5936B792052B362B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_D4D11B2A9F07591F8A19CCD06055A7EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_13412417D22B5AEEB3A7BF2787F4E8C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_C630C5A18FC455339B6A0F10949F6129" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_5A3B9F3C7E855E8B8B306990DDC5B34C" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_F86CE50148FE5218AC1C859CCF2BED91" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesNarrativeDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseLiability_B0105B81311454FF8FB2924329CFEEAE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_A95FDFA9A181564EB841D6A0794A8E56" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_DA81B9506B535144AB5284A85D5D2FEB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_66981B1DDBB25FE48FB402DE6BEA0B31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseCost_F9C2FBC55D6A5C7999E945DCDD49A45F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeasePayments_84B741F4297E5F5D945398D27B4916B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_LeaseCost_1E09C0E26CE8592488030D5B4132EB21" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_6704ED064C1F55DD86D5D4128C4BAC74" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_5AE3ED2ECE3F5B6E9A3DC4E4BCCF6793" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="loc_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_2B844F27245E56AFA0EF180C3E612FD8" xlink:to="loc_us-gaap_OperatingLeaseLeaseIncome_EBCAAB894997505A989562CEA9A0C58B" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock_692FA9A0C42655CDB64D9F1E5373231E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_B94A2AEC689C57D8BF39D26D9352280E" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_CA203AF4FB0E58678491074072E472F8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/NewPronouncements" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_CC19F13EE0A65023A332B981F6C276DC" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_952DE4FE98345ADFAC4836A7E08812F4" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognition" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_EF211E525C8252599E5F83D7AB142AE2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_EF211E525C8252599E5F83D7AB142AE2" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_3297E1E800E85F1CB4E0372BBF5E6AB8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_996EF6F8DDD45B18AE7044ED323A49FC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CapitalizedContractCostGross" xlink:label="loc_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_996EF6F8DDD45B18AE7044ED323A49FC" xlink:to="loc_us-gaap_CapitalizedContractCostGross_64DE1C24EDFE58319A796614DB2F9BC8" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MovementInDeferredRevenueRollForward" xlink:label="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_3BD352ED26B7BE5CCCCDFB0DDABD3D94" xlink:to="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="loc_us-gaap_DeferredRevenue_40D24360BE9F2C1C0F3FFB0DDABD18F0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueAdditions" xlink:label="loc_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="loc_us-gaap_DeferredRevenueAdditions_2A469EB5AE005BB37835FB0DDABEBE08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="loc_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="loc_us-gaap_DeferredRevenueRevenueRecognized1_C65D0C40DCA1D650DBDDFB0DDABE67CA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment" xlink:label="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="loc_cgnx_DeferredRevenueForeignCurrencyExchangeAdjustment_FF6C8E9616010ADF0D63FB0DDABE3130" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInDeferredRevenueRollForward_F1F8F07DEDA398561DA7FB0DDABD94B8" xlink:to="loc_us-gaap_DeferredRevenue_B1D9FDA477A090DD9B19FB0DDABE2C02" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_F05C731A9AF17989E806FB0DDACA630A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_F05C731A9AF17989E806FB0DDACA630A" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:to="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_StatementGeographicalAxis_D66A80016244908A93FFFB0DDACB0E2D" xlink:to="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_AmericasMember" xlink:label="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_srt_AmericasMember_95C7AA1C30307C3E9539FB0DDACC471A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_EuropeMember" xlink:label="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_srt_EuropeMember_72F5B1503762D3CF3B6CFB0DDACB04B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd#country_CN" xlink:label="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_country_CN_68C86471BF3E4FA5F110FB0DDACC2658" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_AsiaExcludingChinaMember" xlink:label="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_SegmentGeographicalDomain_E903FF66EFFCBE687F62FB0DDACB184D" xlink:to="loc_cgnx_AsiaExcludingChinaMember_26D456F2FEB92451AE83FB0DDACC8E73" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_47C1888FAE319B3B1B18FB0DDACBC1E5" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_83F3C3D6C0AA3F7DAD07FB0DDACCA4E1" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_08189407FA0A99FEAE99FB0DDACC19B9" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4C8352BE883654C28E5AD1D666739837" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_4C8352BE883654C28E5AD1D666739837" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:to="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_1F31517654965711AAA604C383E84FB5" xlink:to="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StandardProductsandServicesMember" xlink:label="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:to="loc_cgnx_StandardProductsandServicesMember_995A1294ECF35A8091D03FF41501874D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ApplicationSpecificCustomerSolutionsMember" xlink:label="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_760E86D6A1C756C6B5CC24C34DDD2DD4" xlink:to="loc_cgnx_ApplicationSpecificCustomerSolutionsMember_196094D064575BAE88489CA35F0B6CE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_05E77E7CFBC054C2B4F48ECD5D72E2DC" xlink:to="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_72830E6CCB8258E094710C348700FC96" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_F0F74ED1DA975E4C9D1FCDF81DD6F0D5" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_72830E6CCB8258E094710C348700FC96" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/RevenueRecognitionTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_476D418A09ED561095E7824E5BCBCBFC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock" xlink:label="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_476D418A09ED561095E7824E5BCBCBFC" xlink:to="loc_us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock_39749DAE9CBE502DB4F3439BA14E3BCA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_476D418A09ED561095E7824E5BCBCBFC" xlink:to="loc_us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_16981480C067595689D3C001BD55371D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_476D418A09ED561095E7824E5BCBCBFC" xlink:to="loc_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_77999F5735FE5800850A891BE5605C5B" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_CD0A4BAD4B6A531BAE4B67D323200E3F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_CD0A4BAD4B6A531BAE4B67D323200E3F" xlink:to="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_748DB6E872E259659D12974B91486693" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_B0046D3BDD15DA3BABC0FB1E935810CB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_B0046D3BDD15DA3BABC0FB1E935810CB" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeAxis" xlink:label="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_RangeMember" xlink:label="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_897E421F2FA7821A6988FB1E9358B389" xlink:to="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MinimumMember" xlink:label="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:to="loc_srt_MinimumMember_1A0BE16D0A47416EDF5BFB1E935921A3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd#srt_MaximumMember" xlink:label="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_5D3A3F4352E9A9DAA4CAFB1E9359EC86" xlink:to="loc_srt_MaximumMember_83CA3AB067111B5296D8FB1E9359BFB8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AwardTypeAxis_D401D600A2E108984F92FB1E935A5DAA" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_588443F90F9DCD65FFC7FB1E935AE061" xlink:to="loc_us-gaap_EmployeeStockOptionMember_6302608F218202727528FB1E935AD924" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameAxis_9130D10EE30C46511807FB1E935A0259" xlink:to="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_PlanNameDomain_451262F5D680E116A654FB1E935ACA36" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_49A62F0D5594015708F2FB1E935CE429" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_2E70897A685BB215DACBFB1E9358FA36" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_3FB7D390FDC9BEA0E935FB1E935C3A9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_DE4D0863535802477FABFB207882BB88" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_2AAD68B38B1103D39609FB1E935C9EFF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4588F4ADC3A6596CDFCEFB1E935C5B59" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_F47FF152B5C3368ABCE8FB1E935C4EC1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_954707C2DF05BD56DA62FB1E935CBEF5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_CCB00EC9FF82FF0ECC4FFB1E935C2E36" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_3D3D4D33FFC3111F7B48FB1E935C7C92" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_F3576B56FA66B1F46BDDFB1E935D8A3E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AEFA0BBF8E4DBC8BDE11FB1E935DF4EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_73EE71551CE1CE511F82FB1E935D246B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="locator" />
    <link:presentationArc order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_34CE01932DED91B17094FB1E935DE6DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="locator" />
    <link:presentationArc order="13" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_19CE43B6B1DED5364A6FFB1E935DE9DB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="locator" />
    <link:presentationArc order="14" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_C391599B2C57ED67F1E1FB1E935EB4DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_3B3273F3A4E769C2F2F4FB1E935E85A6" xlink:type="locator" />
    <link:presentationArc order="15" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_3B3273F3A4E769C2F2F4FB1E935E85A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="locator" />
    <link:presentationArc order="16" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_E838B52D35755664B5F3FB1E935EE419" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="locator" />
    <link:presentationArc order="17" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_2DED27D861C4D60082ADFB1E935C3D91" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_637A0A90F65DBBA17728FB1E935E0C48" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5E6B6EC1D37A5950B7011F4A8E8DCDB0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_A4F6E272B5915CA8BC077A41EE5D92FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_40DA32BA54AB5C738911276C2CE2A313" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_40DA32BA54AB5C738911276C2CE2A313" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_94E67F6B61B05F7999BAB5A68D160CA0" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_E43EFA7C5A3355FEB4542398E0C30222" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6BC6F104172D56DBAF76B25668A27E01" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_B4F2D9213DD45D4492936AB1440A97AC" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_199A799605735C9BA5FA0912F73D475C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_0AD77D86758D5C23B0F8F974B024967B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_E8A9AB549CCD5B6792E392D56AB71AB8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_C65186B72D9F5EA4AD707EE68FCB8058" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_BB7A425C051253A1B66DAFF210DB56B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_CDF17BBADA34576F8DBE77BB70CB87BC" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_9F4578B35D075E2292F7A87B7E077C9D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_1427723BA7BA5CEB860ACB7E9DD6ADDE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_AC16C631217859288E9788222D52AF08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B25871007BE55894BEF3666D0F2DC7BE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_67113BE17B625B34B077A00DECE6FFA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_49BB0E946A85501F9FC68B500F6272B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_9DEF716675A15806AAA14FBD38134F95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_11AC2E13D2CF533A909DFABCFFFC9E69" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_EE5458B944CF56A4AF55F8820F8A6B02" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_7B36C85043F85F82BF488D65A54B1E1E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_62C4A3CB93F15BF8818D1CBCA868EAE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_E722506D18FD5CF3A0C3BB9DE606A3DC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C8E14372B6235EF3BE76E7701B5C5A2C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_BA5512A8C8CF5ABFB281FF069EA0ADDB" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_18DE0CD8210552C58953D0F69A41FCDD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C48159BBE3B952D0A5CBF14BB283AB6C" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_C38411DE3AB550499014691D9837F706" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A726635AD3FA55B8B8AAD358A66A858F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_05E8B3E3D9AC5488966ED4691044B3B0" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_ED58624B541356FD9E76A8C32E4AAC67" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_881856318183098AFB69FB0DDAB7B674" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_881856318183098AFB69FB0DDAB7B674" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_CD59F1072C3E8BFBAC0EFB0DDAB71DC2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_881856318183098AFB69FB0DDAB7B674" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_2388BC045BE65677507CFB0DDAB78A8F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_881856318183098AFB69FB0DDAB7B674" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_B4E3D0EB599A502CB0D9FB0DDAB73E7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_881856318183098AFB69FB0DDAB7B674" xlink:to="loc_us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock_F06E42EA05A0259B3C59FB1A9C3C790A" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9E14212189005A56B647061BF7444C10" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9E14212189005A56B647061BF7444C10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_014CFFB3FB315611A5D4368FBFA81C57" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9E14212189005A56B647061BF7444C10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_4A36662DF04857EE97307BD4DA6605CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9E14212189005A56B647061BF7444C10" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_6FB2A7114AB9583FA6784B69DF168793" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9E14212189005A56B647061BF7444C10" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_894C90D102165DC49F8885EE343AEEF7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgram" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_EC8B5EEB055A5CCDB6016E157CD22CD5" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_D4B43E576BD9593AB054839BA7BBB93D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_09E67A2FADB11588D8E7EF0C78E82F84" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_09E67A2FADB11588D8E7EF0C78E82F84" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_23545209C658934C9774EF0C78E8A1F1" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_RepurchaseProgramOctober2018Member" xlink:label="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_CD9954F5329181855C10EF0C78E812EB" xlink:to="loc_cgnx_RepurchaseProgramOctober2018Member_C16C770DBF1E53362423EF0C78E9AF67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_2DFC8F95A403AEF675DAEF0C78E83E34" xlink:to="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_5C9B5F3F94D4261F4498EF0C78E9522E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_C32BFBC777DF7DB975B4EF0C78EA2BF8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_cgnx_StockRepurchaseProgramValue_85E349690415A405B349EF0C78EA87AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_11642B5B011570D67A58EF0C78EAB5A2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_51914DC31DE031D942BDEF0C78EA6CE5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_2163E7F6B92A2ADEF674EF0C78E9D22A" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_28EDA60190A307AB7B36EF0C78EAFD68" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_EB5C2292DD6D50CCAEF0A6DF99719952" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_EB5C2292DD6D50CCAEF0A6DF99719952" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_38FEBBC050495A85AE344300C362E21D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SubsequentEventsDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_F73633BE2773104FE807046C2F18C68F" xlink:to="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_5406734D008296868740046C2F19908B" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_SualabCo.Ltd.Member" xlink:label="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_4362768051FF8951757B046C2F1AB6C9" xlink:to="loc_cgnx_SualabCo.Ltd.Member_0D0BB25EBDD18F14623D046C2F1ACC19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_8645BEA89D5AD2F8D449046C2F1B5A5A" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_CD6640DC9F952BCD4B94046C2F1B8CBA" xlink:to="loc_us-gaap_SubsequentEventMember_3BBB58A01E9F84159485046C2F1BCA95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventTable_F57C669501796632FEDE046C2F197D52" xlink:to="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_BusinessCombinationConsiderationTransferred1_3CE2EAE6367761BC9CEC046C2F1C43A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesGross" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesGross_F67916CA01CAF7C527BB046C2F1C970F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_PaymentstoAcquireBusinessesDeferred" xlink:label="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_cgnx_PaymentstoAcquireBusinessesDeferred_235F2F32DBB224AFAEF1046C2F1DE7C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_Dividends_28C430C770F8B0DD0718046C2F1DA9D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_0B367DDB9786B987037F046C2F1D7846" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventLineItems_E40D071D96D5EE1C120C046C2F1CC1D4" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_AFB46269CF0523B96769046C2F1DD02C" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_50F956F723D35012B00ADE3A55EA4C87" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_81FD0B8E376D598387E9D52D5C66ACB0" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_B152C000928A52E6B018E669A10E6AF6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_B152C000928A52E6B018E669A10E6AF6" xlink:to="loc_us-gaap_LesseeLeasesPolicyTextBlock_8C339816328C5952925E48AEFC44F21F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_B152C000928A52E6B018E669A10E6AF6" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_F53179E9AD09595AA53EFFAF6EBDA628" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/Taxes" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5879942F394F551BA31E12C2F079BA9D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5879942F394F551BA31E12C2F079BA9D" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_B77A26F1E99E59BB84A722CC078F8685" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_2ED07ABBAEB15A5AB0F3D0A2BF6B515D" xlink:to="loc_us-gaap_TypeOfAdoptionMember_41AB9640801E523D9275DA523BD387AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_7F5B4BFC9D485F78BE7A5C4B5E4455B3" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:to="loc_us-gaap_ForeignCountryMember_65F8BEB02C82558B8C5B8A89186B620C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_C98BEEC80EA55472B340F99412DFE9F5" xlink:to="loc_us-gaap_DomesticCountryMember_F0C94082C4165565BD186B707F5B2875" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_EABB651E10AA5B088E31CDF8D4EF14B5" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_06896B3BD0B5502A9908CCB0C0B1E502" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_C7C3A569D603539EA760BDCF6D3C8E10" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_AAB7101146515587849C4F41D9563838" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_FD750800090E5285A1CD5901D4E84A36" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_0684C4D44BCC5A148E16352EF63EEB2A" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_0684C4D44BCC5A148E16352EF63EEB2A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_E07C7C2C48195A7FB4601824E869906E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_3B4FF5FF182553ED863AE96F6CE75FC9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_A233FC5106CF5BB29D14C30E65C3AB29" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_C716CC3B4386557692D1B0ECF37D00B7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_IncreaseDecreaseInterestAndPenalties_2B7A9C917D4B5F8B8188A2FD7E1CBF16" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_9BE1977E1C8657FBB4BF01FF14D31F90" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_EE41796537F556068F2158E4F3F04846" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_7B3DD24DE2925C468391A2D446430B91" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_6BA58BAE90DF556ABBF3C9AD5FCB5A88" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_A5DCBA2A71F05A9A8467B788185DBF3C" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_DB364C08F9A957988708F2CDD6B86D8A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:type="locator" />
    <link:presentationArc order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_D20D2CBC35F857B58B7C91638E093159" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:type="locator" />
    <link:presentationArc order="11" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_EC8FD986551A5955B0E383D99CB475E2" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_AA5A802B73855BBC99C110DF089F7F16" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_52E4D5C0A268BE4B1DDFFB0DDA7D448D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_AFB33527BF986CF72812FB0DDA7E9389" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_7D4219CA81EB7CF887BFFB0DDA7EF28F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_6E3982D4B3CF38E0A169FB0DDA7E34DC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20190929.xsd#cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:type="locator" />
    <link:presentationArc order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017_40732F572548F0AD9AB2FB1097A2431F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:type="locator" />
    <link:presentationArc order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_7B4E7DCFF6ABE27E4429FB0DDA7E3825" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:type="locator" />
    <link:presentationArc order="7" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_F7450AAB60CB47E2AF41FB0DDA7E43C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:type="locator" />
    <link:presentationArc order="8" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_8772D4BF41E06A2E248FFB0DDA7EC4E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:type="locator" />
    <link:presentationArc order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_28CD68EF025A6B0DAA5EFB0DDA7DE183" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_B7B5A724F16F841CCAB0FB0DDA7FB776" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/TaxesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_29E638C4CB10595FABFE1D392D53F07D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_29E638C4CB10595FABFE1D392D53F07D" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_318C623EC9FB51D79D14F2945948B388" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligations" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_12BF295BD6515568B521075E6D366B26" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_EA990CCBA4B85E44BD109B343147E9DE" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_5C9C47372EA856FFBAA7C82086A9310D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_5C9C47372EA856FFBAA7C82086A9310D" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:to="loc_us-gaap_ProductWarrantyAccrual_B1F8316F417358C0A8C99703A0EDF639" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_18341F7BC0CE5974943312E47642F7EC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_37F649EE66E3575B9AAEB00C9D636D78" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:type="locator" />
    <link:presentationArc order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_5F79EE5E57975B6C9A14508FC5D51060" xlink:to="loc_us-gaap_ProductWarrantyAccrual_AAD9B88D9AE057E08F0E5383617E5D5D" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WarrantyObligationsTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_136C79830E1457A2B1CB4641C560646D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_136C79830E1457A2B1CB4641C560646D" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_0D9EA0AC11F35001B5E71C3CE50F0529" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageShares" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_E212FDE10EC75B08909547CFA0EE5D72" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_E212FDE10EC75B08909547CFA0EE5D72" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_F2C26AE882E65507B83BCF049DA88DCC" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_AFE5104B23718B062F49FB0DDA56B088" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_AFE5104B23718B062F49FB0DDA56B088" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_D91ED4FD0EC9FE6DE547FB0DDA5647EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:type="locator" />
    <link:presentationArc order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_AFE5104B23718B062F49FB0DDA56B088" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_9A17155E250E65789624FB0DDA58A8FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:type="locator" />
    <link:presentationArc order="3" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_AFE5104B23718B062F49FB0DDA56B088" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_5735482D41E838EE2DAEFB0DDA58E80E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_F9E6D5D7E40954A789CC18713785B177" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_F9E6D5D7E40954A789CC18713785B177" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_3E64604DE8235CDAA38E06F433B1B2B7" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_B21522458B2E569F93CA74E00A27BCF1" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_43D07F56A139522ABA8D9BEB6D18EA3D" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6785366640">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Outstanding Forward Contracts Table (Detail) - Not Designated as Hedging Instrument<br> &#8364; in Thousands, &#8361; in Thousands, &#165; in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>SGD ($)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>SGD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2018 </div>
<div>USD ($)</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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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; 18,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">$ 19,697<span></span>
</td>
<td class="nump">&#8364; 23,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">$ 26,330<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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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="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="nump">5,563<span></span>
</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">&#165; 380,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,459<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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">90,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,560<span></span>
</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="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_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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,550<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,149<span></span>
</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,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,204<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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 840,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,739<span></span>
</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">&#165; 750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,685<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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 3,660,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,053<span></span>
</td>
<td class="text">&#160;<span></span>
</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; 3,125,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,808<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 );">Taiwanese Dollar</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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</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">$ 45,700<span></span>
</td>
<td class="nump">1,478<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 55,000<span></span>
</td>
<td class="nump">1,807<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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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">$ 1,100<span></span>
</td>
<td class="text">&#160;<span></span>
</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">830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 990<span></span>
</td>
<td class="text">&#160;<span></span>
</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">726<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 );">Singapore, 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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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="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="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 700<span></span>
</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">$ 514<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 http://asc.fasb.org/extlink&amp;oid=109980867&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 http://asc.fasb.org/extlink&amp;oid=109980867&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 http://asc.fasb.org/extlink&amp;oid=109980867&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_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_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_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_TWD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_TWD</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CurrencyAxis=currency_SGD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SGD</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>12
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789275376">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 183,325<span></span>
</td>
<td class="nump">$ 232,221<span></span>
</td>
<td class="nump">$ 555,856<span></span>
</td>
<td class="nump">$ 613,052<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">65,253<span></span>
</td>
<td class="nump">57,020<span></span>
</td>
<td class="nump">208,909<span></span>
</td>
<td class="nump">187,991<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">64,209<span></span>
</td>
<td class="nump">118,810<span></span>
</td>
<td class="nump">182,747<span></span>
</td>
<td class="nump">245,437<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">27,854<span></span>
</td>
<td class="nump">31,068<span></span>
</td>
<td class="nump">86,446<span></span>
</td>
<td class="nump">99,402<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">$ 26,009<span></span>
</td>
<td class="nump">$ 25,323<span></span>
</td>
<td class="nump">$ 77,754<span></span>
</td>
<td class="nump">$ 80,222<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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-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_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>13
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789375200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Detail)<br></strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 29, 2019 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Sep. 30, 2018 </div>
<div>USD ($) </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_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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | 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="nump">75,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_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 45.20<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_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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<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_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for senior management</a></td>
<td class="nump">9.00%<span></span>
</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">9.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_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="text">&#160;<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>
</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_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates', window );">Increase (decrease) to compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 499,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,283,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair values, in dollars per share | $ / shares</a></td>
<td class="nump">$ 18.42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22.52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 18.58<span></span>
</td>
<td class="nump">$ 21.70<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">$ 5,746,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,985,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 42,545,000<span></span>
</td>
<td class="nump">$ 50,975,000<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,213,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">997,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,072,000<span></span>
</td>
<td class="nump">27,557,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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation expense</a></td>
<td class="nump">59,708,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">$ 59,708,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_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">&#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>
</tr>
<tr class="re">
<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">10,194,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,143,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,442,000<span></span>
</td>
<td class="nump">31,339,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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Tax benefit from compensation expense</a></td>
<td class="nump">1,804,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,654,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,839,000<span></span>
</td>
<td class="nump">$ 5,608,000<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="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="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>
<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>
<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 | shares</a></td>
<td class="nump">17,350,152<span></span>
</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">17,350,152<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">&#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>
</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>
<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>
<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">&#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>
</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>
<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>
<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">&#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>
</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>num: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>num: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>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<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 (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>Unrecognized cost of unvested share-based compensation awards.</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 (i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income 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 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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 which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, 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 (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(iii)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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_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 http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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_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>14
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6778132128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_Paymentofcontingentconsideration', window );">Payment of contingent consideration</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (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_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Fair Value, 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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [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_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue', window );">Beginning balance</a></td>
<td class="nump">2,554<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 );">Ending balance</a></td>
<td class="nump">1,153<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_BusinessAcquisitionAxis=cgnx_GViVenturesInc.Member', window );">GVi | Fair Value, 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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [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_LiabilitiesFairValueAdjustment', window );">Liabilities, Fair Value Adjustment</a></td>
<td class="num">(1,646)<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_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember', window );">Chiaro Technologies LLC [Member] | Fair Value, 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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems', window );"><strong>Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [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_LiabilitiesFairValueAdjustment', window );">Liabilities, Fair Value Adjustment</a></td>
<td class="nump">$ 245<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_Paymentofcontingentconsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment of contingent consideration from a business combination</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_Paymentofcontingentconsideration</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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems</td>
</tr>
<tr>
<td style="padding-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 http://asc.fasb.org/extlink&amp;oid=99377789&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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesFairValueAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.</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_LiabilitiesFairValueAdjustment</td>
</tr>
<tr>
<td style="padding-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_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>
<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_BusinessAcquisitionAxis=cgnx_GViVenturesInc.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=cgnx_GViVenturesInc.Member</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_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=cgnx_ChiaroTechnologiesLLCMember</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>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "cgnx-9292019x10q.htm": {
   "axisCustom": 0,
   "axisStandard": 20,
   "contextCount": 176,
   "dts": {
    "calculationLink": {
     "local": [
      "cgnx-20190929_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "cgnx-20190929_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-eedm-def-2018-01-31.xml",
      "http://xbrl.fasb.org/srt/2018/elts/srt-eedm1-def-2018-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "cgnx-9292019x10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "cgnx-20190929_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-doc-2018-01-31.xml",
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "cgnx-20190929_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-ref-2018-01-31.xml",
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "cgnx-20190929.xsd"
     ],
     "remote": [
      "http://xbrl.fasb.org/srt/2018/elts/srt-2018-01-31.xsd",
      "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/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2018/elts/srt-types-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-gaap-2018-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-roles-2018-01-31.xsd",
      "http://xbrl.fasb.org/srt/2018/elts/srt-roles-2018-01-31.xsd",
      "http://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-types-2018-01-31.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "https://xbrl.sec.gov/exch/2018/exch-2018-01-31.xsd",
      "http://xbrl.sec.gov/invest/2013/invest-2013-01-31.xsd",
      "http://xbrl.sec.gov/naics/2017/naics-2017-01-31.xsd",
      "http://xbrl.sec.gov/sic/2011/sic-2011-01-31.xsd",
      "https://xbrl.sec.gov/stpr/2018/stpr-2018-01-31.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2018/elts/us-parts-codification-2018-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 490,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2018-01-31": 21,
    "http://xbrl.sec.gov/dei/2019-01-31": 5,
    "total": 26
   },
   "keyCustom": 32,
   "keyStandard": 350,
   "memberCustom": 13,
   "memberStandard": 43,
   "nsprefix": "cgnx",
   "nsuri": "http://www.cognex.com/20190929",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "0001000 - Document - Cover Page",
     "role": "http://www.cognex.com/role/CoverPage",
     "shortName": "Cover Page",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101100 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2103100 - Disclosure - New Pronouncements",
     "role": "http://www.cognex.com/role/NewPronouncements",
     "shortName": "New Pronouncements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2104100 - Disclosure - Fair Value Measurements",
     "role": "http://www.cognex.com/role/FairValueMeasurements",
     "shortName": "Fair Value Measurements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2105100 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2106100 - Disclosure - Inventories",
     "role": "http://www.cognex.com/role/Inventories",
     "shortName": "Inventories",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2109100 - Disclosure - Leases",
     "role": "http://www.cognex.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2110100 - Disclosure - Intangible Assets",
     "role": "http://www.cognex.com/role/IntangibleAssets",
     "shortName": "Intangible Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2111100 - Disclosure - Warranty Obligations",
     "role": "http://www.cognex.com/role/WarrantyObligations",
     "shortName": "Warranty Obligations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2112100 - Disclosure - Derivative Instruments",
     "role": "http://www.cognex.com/role/DerivativeInstruments",
     "shortName": "Derivative Instruments",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2113100 - Disclosure - Revenue Recognition",
     "role": "http://www.cognex.com/role/RevenueRecognition",
     "shortName": "Revenue Recognition",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1001000 - Statement - Consolidated Statements of Operations",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsOfOperations",
     "shortName": "Consolidated Statements of Operations",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2115100 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2116100 - Disclosure - Stock Repurchase Program",
     "role": "http://www.cognex.com/role/StockRepurchaseProgram",
     "shortName": "Stock Repurchase Program",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2119100 - Disclosure - Taxes",
     "role": "http://www.cognex.com/role/Taxes",
     "shortName": "Taxes",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2120100 - Disclosure - Weighted-Average Shares",
     "role": "http://www.cognex.com/role/WeightedAverageShares",
     "shortName": "Weighted-Average Shares",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2121100 - Disclosure - Subsequent Events",
     "role": "http://www.cognex.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeLeasesPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2201201 - 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": [
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeLeasesPolicyTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2304301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2305301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2306301 - Disclosure - Inventories (Tables)",
     "role": "http://www.cognex.com/role/InventoriesTables",
     "shortName": "Inventories (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2309301 - Disclosure - Leases (Tables)",
     "role": "http://www.cognex.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002000 - Statement - Consolidated Statements of Comprehensive Income",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2310301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2311301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:OutstandingForwardContractsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2312301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "cgnx:OutstandingForwardContractsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2313301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2315301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2319301 - Disclosure - Taxes (Tables)",
     "role": "http://www.cognex.com/role/TaxesTables",
     "shortName": "Taxes (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2320301 - 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-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "role": "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
     "shortName": "Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "cgnx:Paymentofcontingentconsideration",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)",
     "role": "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails",
     "shortName": "Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesGrossRealizedGains",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail",
     "shortName": "Cash, Cash Equivalents, and Investments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesGrossRealizedGains",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002501 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
     "shortName": "Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:Cash",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
     "shortName": "Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
     "shortName": "Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)",
     "role": "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
     "shortName": "Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406402 - Disclosure - Inventories - Schedule of Inventories (Detail)",
     "role": "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail",
     "shortName": "Inventories - Schedule of Inventories (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseLiability",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409402 - Disclosure - Leases - Narrative (Details)",
     "role": "http://www.cognex.com/role/LeasesNarrativeDetails",
     "shortName": "Leases - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "I2019Q1Jan01",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409403 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)",
     "role": "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails",
     "shortName": "Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410402 - Disclosure - Intangible Assets (Details)",
     "role": "http://www.cognex.com/role/IntangibleAssetsDetails",
     "shortName": "Intangible Assets (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2411402 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProductWarrantyAccrual",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003000 - Statement - Consolidated Balance Sheets",
     "role": "http://www.cognex.com/role/ConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412402 - Disclosure - Derivative Instruments (Detail)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsDetail",
     "shortName": "Derivative Instruments (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "cgnx:OutstandingForwardContractsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeAssetNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail",
     "shortName": "Derivative Instruments - Outstanding Forward Contracts Table (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "cgnx:OutstandingForwardContractsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeAssetNotionalAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "eur",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeAssets",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail",
     "shortName": "Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DerivativeAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail",
     "shortName": "Derivative Instruments - Offsetting Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:OffsettingAssetsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeFairValueOfDerivativeAsset",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)",
     "role": "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
     "shortName": "Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "ix:continuation",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413402 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413403 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CapitalizedContractCostGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413404 - Disclosure - Revenue Recognition - Additional Information (Details)",
     "role": "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails",
     "shortName": "Revenue Recognition - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CapitalizedContractCostGross",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2413405 - 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",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415402 - Disclosure - Stock-Based Compensation Expense (Detail)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseDetail",
     "shortName": "Stock-Based Compensation Expense (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003501 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": null
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail",
     "shortName": "Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2018Q4",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail",
     "shortName": "Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)",
     "role": "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail",
     "shortName": "Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2416401 - Disclosure - Stock Repurchase Program (Detail)",
     "role": "http://www.cognex.com/role/StockRepurchaseProgramDetail",
     "shortName": "Stock Repurchase Program (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2019Q3",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)",
     "role": "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail",
     "shortName": "Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "2",
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "reportCount": 1,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2419403 - Disclosure - Taxes (Detail)",
     "role": "http://www.cognex.com/role/TaxesDetail",
     "shortName": "Taxes (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "lang": null,
      "name": "cgnx:IncreaseDecreaseInterestAndPenalties",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420402 - Disclosure - Weighted-Average Shares (Detail)",
     "role": "http://www.cognex.com/role/WeightedAverageSharesDetail",
     "shortName": "Weighted-Average Shares (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)",
     "role": "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail",
     "shortName": "Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3QTD",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Dividends",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421401 - Disclosure - Subsequent Events (Details)",
     "role": "http://www.cognex.com/role/SubsequentEventsDetails",
     "shortName": "Subsequent Events (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:Dividends",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004000 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FD2019Q3YTD",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StockOptionPlanExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005000 - Statement - Consolidated Statement of Shareholders' Equity",
     "role": "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity",
     "shortName": "Consolidated Statement of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockSharesIssued",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": null,
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005501 - 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
    },
    "R9999": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "cgnx-9292019x10q.htm",
      "contextRef": "I2018Q1Jan1",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "",
     "isDefault": "false",
     "longName": "Uncategorized Items - cgnx-9292019x10q.htm",
     "role": "http://xbrl.sec.gov/role/uncategorizedFacts",
     "shortName": "Uncategorized Items - cgnx-9292019x10q.htm",
     "subGroupType": "",
     "uniqueAnchor": null
    }
   },
   "segmentCount": 56,
   "tag": {
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "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/20190929",
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "order": 5.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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "order": 2.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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "order": 4.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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "order": 3.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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_CashCashEquivalentsShortTermAndLongTermInvestments": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_CashflowshedgesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cash flows hedges [Abstract]",
        "label": "Cash flows hedges [Abstract]",
        "terseLabel": "Cash flow hedges:"
       }
      }
     },
     "localname": "CashflowshedgesAbstract",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_ChiaroTechnologiesLLCMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Chiaro Technologies LLC [Member]",
        "label": "Chiaro Technologies LLC [Member]",
        "terseLabel": "Chiaro Technologies LLC [Member]"
       }
      }
     },
     "localname": "ChiaroTechnologiesLLCMember",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/20190929",
     "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/20190929",
     "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/20190929",
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 8.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Effective Income Tax Rate Reconciliation, Tax Act 2017",
        "label": "Effective Income Tax Rate Reconciliation, Tax Act 2017",
        "negatedTerseLabel": "Discrete tax benefit related to Tax Act 2017"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxAct2017",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "cgnx_GViVenturesInc.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "GVi Ventures, Inc. [Member]",
        "label": "GVi Ventures, Inc. [Member]",
        "verboseLabel": "GVi"
       }
      }
     },
     "localname": "GViVenturesInc.Member",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_IncreaseDecreaseInterestAndPenalties": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Increase decrease interest and penalties.",
        "label": "Increase Decrease Interest And Penalties",
        "terseLabel": "Interest and penalties included in reserve"
       }
      }
     },
     "localname": "IncreaseDecreaseInterestAndPenalties",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Operating Lease, Liability, Payments, Due Year Six",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Six",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearSix",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails": {
       "order": 7.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Lessee, Operating Lease, Liability, Payments, Due after Year Six",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Six",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Maximum decrease in income tax expense due to release in reserves.",
        "label": "Maximum Decrease In Income Tax Expense Due To Release In Reserves",
        "terseLabel": "Maximum decrease in income tax expense due to release in reserves"
       }
      }
     },
     "localname": "MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Minimum decrease in income tax expense due to release in reserves.",
        "label": "Minimum Decrease In Income Tax Expense Due To Release In Reserves",
        "terseLabel": "Minimum decrease in income tax expense due to release in reserves"
       }
      }
     },
     "localname": "MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "cgnx_Paymentofcontingentconsideration": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Payment of contingent consideration from a business combination",
        "label": "Payment of contingent consideration",
        "negatedLabel": "Payment of contingent consideration"
       }
      }
     },
     "localname": "Paymentofcontingentconsideration",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_PaymentstoAcquireBusinessesDeferred": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Payments to Acquire Businesses, Deferred",
        "label": "Payments to Acquire Businesses, Deferred",
        "terseLabel": "Deferred payments"
       }
      }
     },
     "localname": "PaymentstoAcquireBusinessesDeferred",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_RepurchaseProgramOctober2018Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Repurchase Program October 2018 [Member]",
        "label": "Repurchase Program October 2018 [Member]",
        "terseLabel": "Repurchase Program October 2018 [Member]"
       }
      }
     },
     "localname": "RepurchaseProgramOctober2018Member",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "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 thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock Repurchase Program, Aggregate Number of Shares Repurchased",
        "label": "Stock Repurchase Program, Aggregate Number of Shares Repurchased",
        "terseLabel": "Stock Repurchase Program, Aggregate Number of Shares Repurchased"
       }
      }
     },
     "localname": "StockRepurchaseProgramAggregateNumberofSharesRepurchased",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "cgnx_StockRepurchaseProgramValue": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock Repurchase Program, Value",
        "label": "Stock Repurchase Program, Value",
        "terseLabel": "Shares repurchased, value"
       }
      }
     },
     "localname": "StockRepurchaseProgramValue",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "cgnx_SualabCo.Ltd.Member": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sualab Co., Ltd. [Member]",
        "label": "Sualab Co., Ltd. [Member]",
        "terseLabel": "Sualab Co., Ltd."
       }
      }
     },
     "localname": "SualabCo.Ltd.Member",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "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/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.",
        "label": "Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets",
        "terseLabel": "Reserve for income taxes classified an noncurrent deferred tax assets"
       }
      }
     },
     "localname": "Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets",
     "nsuri": "http://www.cognex.com/20190929",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "country_CN": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "CHINA",
        "terseLabel": "Greater China"
       }
      }
     },
     "localname": "CN",
     "nsuri": "http://xbrl.sec.gov/country/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "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/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_CAD": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Canada, Dollars",
        "terseLabel": "Canada, Dollars"
       }
      }
     },
     "localname": "CAD",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "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/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "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/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_HUF": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Hungary, Forint",
        "terseLabel": "Hungary, Forint"
       }
      }
     },
     "localname": "HUF",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_JPY": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Japan, Yen",
        "terseLabel": "Japanese Yen"
       }
      }
     },
     "localname": "JPY",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "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/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_MXN": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Mexico, Pesos",
        "terseLabel": "Mexico, Pesos"
       }
      }
     },
     "localname": "MXN",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_SGD": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Singapore, Dollars",
        "terseLabel": "Singapore, Dollars"
       }
      }
     },
     "localname": "SGD",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "currency_TWD": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Taiwan, New Dollars",
        "terseLabel": "Taiwanese Dollar"
       }
      }
     },
     "localname": "TWD",
     "nsuri": "http://xbrl.sec.gov/currency/2017-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover page."
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "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 CCYY 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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r333"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r334"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r336"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r335"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r331"
     ],
     "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/2019-01-31",
     "presentation": [
      "http://www.cognex.com/role/CoverPage"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r332"
     ],
     "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/2019-01-31",
     "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/2019-01-31",
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_EuropeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Europe [Member]",
        "terseLabel": "Europe"
       }
      }
     },
     "localname": "EuropeMember",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r105",
      "r160",
      "r162",
      "r322"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Axis]",
        "terseLabel": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Range [Domain]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SegmentGeographicalDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Domain]",
        "terseLabel": "Geographical [Domain]"
       }
      }
     },
     "localname": "SegmentGeographicalDomain",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_StatementGeographicalAxis": {
     "auth_ref": [
      "r107",
      "r160",
      "r163",
      "r328",
      "r329"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Geographical [Axis]",
        "terseLabel": "Geographical [Axis]"
       }
      }
     },
     "localname": "StatementGeographicalAxis",
     "nsuri": "http://fasb.org/srt/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r29"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r12",
      "r161"
     ],
     "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 due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.",
        "label": "Accounts Receivable, Net, Current",
        "terseLabel": "Accounts receivable, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "auth_ref": [
      "r81"
     ],
     "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 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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxes": {
     "auth_ref": [
      "r8",
      "r9",
      "r212",
      "r300",
      "r314"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "auth_ref": [
      "r8",
      "r300",
      "r315"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r31"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r50",
      "r52",
      "r53"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r49",
      "r53",
      "r56",
      "r235"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 2.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "auth_ref": [
      "r89"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by new accounting pronouncement.",
        "label": "Adjustments for New Accounting Pronouncements [Axis]",
        "terseLabel": "Adjustments for New Accounting Pronouncements [Axis]"
       }
      }
     },
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r169",
      "r171",
      "r201",
      "r202"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) from recognition of equity-based compensation.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r171",
      "r195",
      "r200"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.",
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r35",
      "r108"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.",
        "label": "Allowance for Doubtful Accounts Receivable, Current",
        "terseLabel": "Reserves for accounts receivable"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r80",
      "r133",
      "r138"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r98"
     ],
     "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": "Stock options to purchase anti-dilutive common stock"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "auth_ref": [
      "r120",
      "r166"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r104",
      "r299",
      "r313"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r2",
      "r3",
      "r37"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "auth_ref": [
      "r114"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r115"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": {
       "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",
        "negatedTotalLabel": "Total unrealized losses"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r112"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading.",
        "label": "Available-for-sale Securities",
        "terseLabel": "Fair value"
       }
      }
     },
     "localname": "AvailableForSaleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or longer.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "negatedTerseLabel": "Unrealized losses, 12 months or greater"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the aggregate fair value of investments in debt and equity securities in an unrealized loss position which are categorized neither as held-to-maturity nor trading securities.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value",
        "totalLabel": "Total fair value"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of accumulated unrealized loss on investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve months.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "negatedLabel": "Unrealized losses, less than 12 months"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve months.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value",
        "terseLabel": "Fair value, less than 12 months"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or longer.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value",
        "terseLabel": "Fair value, 12 months or greater"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "auth_ref": [
      "r116",
      "r118",
      "r309"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "order": 1.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), maturing in next fiscal year following latest fiscal year. Excludes interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Fair Value",
        "terseLabel": "1 year or less"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r110",
      "r113"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail": {
       "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).",
        "label": "Debt Securities, Available-for-sale",
        "terseLabel": "Financial assets at fair value",
        "totalLabel": "Fair value"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "auth_ref": [
      "r111"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "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"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent": {
     "auth_ref": [
      "r111"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in net 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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesGrossRealizedGains": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the gross profit realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.",
        "label": "Available-for-sale Securities, Gross Realized Gains",
        "terseLabel": "Gross realized gains on sale of investments"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesGrossRealizedGains",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents the gross loss realized on the sale of debt or equity securities categorized neither as held-to-maturity nor trading securities.",
        "label": "Available-for-sale Securities, Gross Realized Losses",
        "terseLabel": "Gross realized losses on sale of investments"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesGrossRealizedLosses",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r172",
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by award type pertaining to equity-based compensation.",
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r244",
      "r248"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails",
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r221",
      "r222"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails",
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "auth_ref": [
      "r225",
      "r226",
      "r228"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.",
        "label": "Business Combination, Consideration Transferred",
        "terseLabel": "Consideration transferred"
       }
      }
     },
     "localname": "BusinessCombinationConsiderationTransferred1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "auth_ref": [
      "r79",
      "r231"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.",
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "terseLabel": "Revaluation of contingent consideration"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_BusinessCombinationContingentConsiderationLiability": {
     "auth_ref": [
      "r224",
      "r227",
      "r230"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liability recognized arising from contingent consideration in a business combination.",
        "label": "Business Combination, Contingent Consideration, Liability",
        "terseLabel": "Contingent consideration liabilities"
       }
      }
     },
     "localname": "BusinessCombinationContingentConsiderationLiability",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostGross": {
     "auth_ref": [
      "r130"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Cash": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "order": 1.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r0",
      "r26",
      "r82"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "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",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period",
        "terseLabel": "Cash and cash equivalents",
        "totalLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease": {
     "auth_ref": [],
     "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 and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.",
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net change in cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsPeriodIncreaseDecrease",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "auth_ref": [
      "r153",
      "r154",
      "r155",
      "r156"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommonStockDividendsPerShareCashPaid": {
     "auth_ref": [
      "r152"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r11"
     ],
     "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"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r11"
     ],
     "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"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r11"
     ],
     "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"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValueOutstanding": {
     "auth_ref": [
      "r11"
     ],
     "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 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 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively"
       }
      }
     },
     "localname": "CommonStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CompensationRelatedCostsGeneralTextBlock": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability.",
        "label": "Compensation Related Costs, General [Text Block]",
        "terseLabel": "Stock-Based Compensation Expense"
       }
      }
     },
     "localname": "CompensationRelatedCostsGeneralTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpense"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r59",
      "r61",
      "r62"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r67"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfGoodsTotalMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Consolidated cost of goods (such as cost of goods sold, or purchases) for the period after providing for returns, allowances and discounts, when it serves as a benchmark in a concentration of risk calculation.",
        "label": "Cost of Goods, Total [Member]",
        "terseLabel": "Cost of Revenue"
       }
      }
     },
     "localname": "CostOfGoodsTotalMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after tax of increase (decrease) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.",
        "label": "Cumulative Effect of New Accounting Principle in Period of Adoption",
        "terseLabel": "Adjustment as a result of the adoption of ASU 2016-06 Income Taxes - Intra-Entity Transfers Other than Inventory"
       }
      }
     },
     "localname": "CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r206",
      "r216"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred revenue as of balance sheet date. Deferred revenue represents collections of cash or other assets 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",
        "periodEndLabel": "Balance as of September 29, 2019",
        "periodStartLabel": "Balance as of December 31, 2018"
       }
      }
     },
     "localname": "DeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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": "Increases to deferred revenue and customer deposits"
       }
      }
     },
     "localname": "DeferredRevenueAdditions",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueAndCreditsCurrent": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.",
        "label": "Deferred Revenue and Credits, Current",
        "terseLabel": "Deferred revenue and customer deposits"
       }
      }
     },
     "localname": "DeferredRevenueAndCreditsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "auth_ref": [
      "r4"
     ],
     "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/2018-01-31",
     "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"
       }
      }
     },
     "localname": "DeferredRevenueRevenueRecognized1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionDeferredRevenueActivityDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsNetNoncurrent": {
     "auth_ref": [
      "r204",
      "r205",
      "r206",
      "r207",
      "r215"
     ],
     "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 of deferred tax asset attributable to deductible temporary differences and carryforwards classified as noncurrent.",
        "label": "Deferred Tax Assets, Net of Valuation Allowance, Noncurrent",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredTaxAssetsNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Depreciation": {
     "auth_ref": [
      "r80",
      "r142"
     ],
     "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 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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset": {
     "auth_ref": [
      "r39",
      "r236"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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, Collateral, Obligation to Return Cash, Offset",
        "negatedTerseLabel": "Gross amounts offset"
       }
      }
     },
     "localname": "DerivativeAssetCollateralObligationToReturnCashOffset",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetNotionalAmount": {
     "auth_ref": [
      "r238",
      "r239",
      "r241"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssets": {
     "auth_ref": [
      "r40",
      "r43",
      "r268"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeAsset": {
     "auth_ref": [
      "r38",
      "r44",
      "r247",
      "r296"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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, Fair Value, Gross Asset",
        "verboseLabel": "Gross amounts of recognized assets"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeAsset",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiability": {
     "auth_ref": [
      "r38",
      "r44",
      "r247",
      "r296"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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, Fair Value, Gross Liability",
        "verboseLabel": "Gross amounts of recognized liabilities"
       }
      }
     },
     "localname": "DerivativeFairValueOfDerivativeLiability",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "auth_ref": [
      "r246"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]"
       }
      }
     },
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "auth_ref": [
      "r258"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "auth_ref": [
      "r242",
      "r245",
      "r250",
      "r252",
      "r253",
      "r256",
      "r257"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeLiabilities": {
     "auth_ref": [
      "r40",
      "r43",
      "r268"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset": {
     "auth_ref": [
      "r39",
      "r236"
     ],
     "calculation": {
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail": {
       "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, Collateral, Right to Reclaim Cash, Offset",
        "negatedTerseLabel": "Gross amounts offset"
       }
      }
     },
     "localname": "DerivativeLiabilityCollateralRightToReclaimCashOffset",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DerivativeTable": {
     "auth_ref": [
      "r87",
      "r237",
      "r240",
      "r241",
      "r242",
      "r243",
      "r249",
      "r250",
      "r254",
      "r255",
      "r257"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "auth_ref": [
      "r223"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByGeographyDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": {
     "auth_ref": [
      "r83"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Date the declared dividend will be paid, in CCYY-MM-DD format.",
        "label": "Dividends Payable, Date to be Paid",
        "terseLabel": "Dividends payable, date payable"
       }
      }
     },
     "localname": "DividendPayableDateToBePaidDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_Dividends": {
     "auth_ref": [
      "r152",
      "r311"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of paid and unpaid cash, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred stock.",
        "label": "Dividends",
        "terseLabel": "Dividends (in dollars per share)"
       }
      }
     },
     "localname": "Dividends",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsCash": {
     "auth_ref": [
      "r152",
      "r311"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Date the holder must own the stock to be entitled to the dividend, in CCYY-MM-DD format.",
        "label": "Dividends Payable, Date of Record",
        "terseLabel": "Dividends payable, date of record"
       }
      }
     },
     "localname": "DividendsPayableDateOfRecordDayMonthAndYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r65",
      "r90",
      "r94",
      "r95",
      "r96",
      "r97",
      "r100",
      "r307",
      "r321"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r101"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageShares"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents": {
     "auth_ref": [
      "r272"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) from the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.",
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents",
        "terseLabel": "Effect of foreign exchange rate changes on cash and cash equivalents"
       }
      }
     },
     "localname": "EffectOfExchangeRateOnCashAndCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r86",
      "r208",
      "r209"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "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",
        "totalLabel": "Income tax expense"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "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": "Income tax expense at U.S. federal statutory corporate tax rate"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail",
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 7.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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 changes in the income tax rates.",
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "negatedTerseLabel": "Other discrete tax events"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 3.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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 applicable to statutory income tax expense (benefit) outside of the country of domicile.",
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "negatedLabel": "Decrease in effective tax rate",
        "terseLabel": "Foreign tax rate differential"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail",
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 6.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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, Percent",
        "terseLabel": "Other"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "auth_ref": [
      "r208"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 5.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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 excess tax benefit for share-based compensation cost.",
        "label": "Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent",
        "negatedTerseLabel": "Discrete tax benefit related to stock options",
        "terseLabel": "Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail",
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income taxes, net of federal benefit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "auth_ref": [
      "r208",
      "r209",
      "r218"
     ],
     "calculation": {
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail": {
       "order": 4.0,
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage 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 tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "negatedTerseLabel": "Tax credit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "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 Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "auth_ref": [
      "r196"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unrecognized cost of unvested share-based compensation awards.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized",
        "terseLabel": "Unrecognized compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense": {
     "auth_ref": [
      "r195"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The total recognized tax benefit related to compensation cost for equity-based payment arrangements recognized in income during the period.",
        "label": "Employee Service Share-based Compensation, Tax Benefit from Compensation Expense",
        "terseLabel": "Tax benefit from compensation expense"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EmployeeStockOptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a number of shares in the entity at a specified price, as defined in the agreement. Although there are variations, normally, after vesting, when an option is exercised, the employee-holder pays the strike value in cash to the issuing employer-entity and receives equity shares. The equity shares can be sold into the market for cash at the current market price without restriction. Options may be used to attract, retain and incentivize employees, in addition to their regular salary and other benefits.",
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option"
       }
      }
     },
     "localname": "EmployeeStockOptionMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r151"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r259",
      "r260",
      "r261",
      "r262",
      "r265",
      "r266"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]",
        "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r166",
      "r167",
      "r168",
      "r261",
      "r292"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r259"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r267"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r166",
      "r167",
      "r168",
      "r261",
      "r293"
     ],
     "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 Prices in Active Markets for Identical Assets (Level 1)"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r166",
      "r167",
      "r168",
      "r261",
      "r294"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r166",
      "r167",
      "r168",
      "r261",
      "r295"
     ],
     "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": "Fair Value, Inputs, Level 3"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": {
     "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, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": {
     "auth_ref": [
      "r263",
      "r266"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "auth_ref": [
      "r263",
      "r266"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability.",
        "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation"
       }
      }
     },
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [
      "r259",
      "r264"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Provides the general categories used to describe the frequency with which financial assets and liabilities (as defined) are measured at fair value (on a recurring or nonrecurring basis).",
        "label": "Fair Value, Measurement Frequency [Domain]",
        "terseLabel": "Fair Value, Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": {
     "auth_ref": [
      "r263"
     ],
     "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",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance"
       }
      }
     },
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r259",
      "r264"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This item represents a description of the frequency with which certain items are measured at fair value. Items measured at fair value on a recurring basis generally include those items for which measurement inputs are readily available and which are measured at fair value at successive reporting periods.",
        "label": "Fair Value, Measurements, Recurring [Member]",
        "terseLabel": "Fair Value, Measurements, Recurring"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail",
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "auth_ref": [
      "r244",
      "r249",
      "r256"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "auth_ref": [
      "r137"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetails": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 7.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five",
        "verboseLabel": "Thereafter"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 2.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2019"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 1.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Remainder of Fiscal Year",
        "verboseLabel": "Remainder of fiscal 2019"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 6.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 5.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 4.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "auth_ref": [
      "r139"
     ],
     "calculation": {
      "http://www.cognex.com/role/IntangibleAssetsDetailsCalc2": {
       "order": 3.0,
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r134",
      "r135",
      "r137",
      "r140",
      "r298"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "auth_ref": [
      "r137",
      "r298"
     ],
     "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 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/2018-01-31",
     "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": "Finite-Lived Intangible Assets [Line Items]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r134",
      "r136"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "auth_ref": [
      "r137"
     ],
     "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/IntangibleAssetsDetailsCalc2": {
       "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ForeignCurrencyGainLossMember": {
     "auth_ref": [
      "r251"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "auth_ref": [
      "r269",
      "r270",
      "r271"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainLossOnSaleOfInvestments": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 6.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 (gain) loss on sale of investments"
       }
      }
     },
     "localname": "GainLossOnSaleOfInvestments",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r131",
      "r132"
     ],
     "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",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_HedgingDesignationAxis": {
     "auth_ref": [
      "r242",
      "r253"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_HedgingDesignationDomain": {
     "auth_ref": [
      "r242"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r85"
     ],
     "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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income before income tax expense"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare": {
     "auth_ref": [
      "r63",
      "r65",
      "r94",
      "r95",
      "r96",
      "r97",
      "r307",
      "r319",
      "r321"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r144"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "auth_ref": [
      "r211"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "auth_ref": [
      "r211"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "auth_ref": [
      "r212",
      "r213",
      "r214",
      "r217"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r220"
     ],
     "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": "Taxes"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/Taxes"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear": {
     "auth_ref": [
      "r213"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount the liability recorded for the income tax examination increased or decreased in the current year/accounting period.",
        "label": "Income Tax Examination, Increase (Decrease) in Liability from Prior Year",
        "terseLabel": "Increase in reserves for income taxes, net of deferred tax benefit"
       }
      }
     },
     "localname": "IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r84",
      "r103",
      "r219"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 13.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 9.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 14.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 15.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 8.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting revenue yet to be earned for which cash or other forms of consideration was received or recorded as a receivable.",
        "label": "Increase (Decrease) in Deferred Revenue",
        "terseLabel": "Deferred revenue and customer deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 11.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 17.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 12.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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInUnbilledReceivables": {
     "auth_ref": [
      "r79"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period of the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.",
        "label": "Increase (Decrease) in Unbilled Receivables",
        "negatedTerseLabel": "Unbilled revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInUnbilledReceivables",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r141"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "localname": "InventoryDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "auth_ref": [
      "r129"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/Inventories"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "auth_ref": [
      "r18",
      "r128"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryNet": {
     "auth_ref": [
      "r1",
      "r36",
      "r127"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      },
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "auth_ref": [
      "r20",
      "r128"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "auth_ref": [
      "r19",
      "r128"
     ],
     "calculation": {
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentIncomeNonoperating": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentTypeAxis": {
     "auth_ref": [
      "r324",
      "r325",
      "r326",
      "r327"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "auth_ref": [
      "r324",
      "r325",
      "r326",
      "r327"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for cash, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.",
        "label": "Investments in Debt and Equity Instruments, Cash and Cash Equivalents, Unrealized and Realized Gains (Losses) [Text Block]",
        "terseLabel": "Cash, Cash Equivalents, and Investments"
       }
      }
     },
     "localname": "InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestments"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r283",
      "r285"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "auth_ref": [
      "r278"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee.",
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeLeasesPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r284"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease, due in fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease, due in fourth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease, due in third fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease, due in second fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2020"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r284"
     ],
     "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 payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year",
        "terseLabel": "Remainder of fiscal 2019"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumLeasePaymentObligationsUnderOperatingLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r286"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceived": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor for operating lease.",
        "label": "Lessor, Operating Lease, Payments to be Received",
        "totalLabel": "Lessor, Operating Lease, Payments to be Received"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceived",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in fourth year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Four Years",
        "terseLabel": "Lessor, Operating Lease, Payments to be Received, Four Years"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedFourYears",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock": {
     "auth_ref": [
      "r288"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of maturity of undiscounted cash flows to be received by lessor on annual basis for operating lease.",
        "label": "Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]",
        "terseLabel": "Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in remainder of fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year",
        "terseLabel": "Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in third fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Three Years",
        "terseLabel": "Lessor, Operating Lease, Payments to be Received, Three Years"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedThreeYears",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears": {
     "auth_ref": [
      "r288"
     ],
     "calculation": {
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in second fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Two Years",
        "terseLabel": "Lessor, Operating Lease, Payments to be Received, Two Years"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedTwoYears",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r30"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r17",
      "r301",
      "r317"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r32"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesFairValueAdjustment": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of addition (reduction) to the amount at which a liability could be incurred (settled) in a current transaction between willing parties.",
        "label": "Liabilities, Fair Value Adjustment",
        "terseLabel": "Liabilities, Fair Value Adjustment"
       }
      }
     },
     "localname": "LiabilitiesFairValueAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "auth_ref": [
      "r33"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LongTermInvestments": {
     "auth_ref": [
      "r27"
     ],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "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"
       }
      }
     },
     "localname": "LongTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail": {
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r77",
      "r78",
      "r81"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease",
       "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r57",
      "r60",
      "r64",
      "r81",
      "r99",
      "r306",
      "r320"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.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/2018-01-31",
     "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_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "auth_ref": [
      "r91"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.",
        "label": "New Accounting Pronouncements and Changes in Accounting Principles [Text Block]",
        "terseLabel": "New Pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NondesignatedMember": {
     "auth_ref": [
      "r242"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail",
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OffsettingAssetsTableTextBlock": {
     "auth_ref": [
      "r41",
      "r42"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r279",
      "r285"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLeaseIncome": {
     "auth_ref": [
      "r102",
      "r287",
      "r289"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of operating lease income from lease payments and variable lease payments paid and payable to lessor. Includes, but is not limited to, variable lease payments not included in measurement of lease receivable.",
        "label": "Operating Lease, Lease Income",
        "terseLabel": "Operating Lease, Lease Income"
       }
      }
     },
     "localname": "OperatingLeaseLeaseIncome",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r276"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r276"
     ],
     "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, Liability, Current",
        "verboseLabel": "Operating lease, liability, current"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r276"
     ],
     "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": "Operating Lease, Liability, Noncurrent",
        "verboseLabel": "Operating lease, liability, noncurrent"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r277",
      "r280"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r275"
     ],
     "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, Right-of-Use Asset",
        "verboseLabel": "Operating lease, right-of-use asset"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets",
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r282",
      "r285"
     ],
     "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": "Operating Lease, Weighted Average Discount Rate, Percent"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/LeasesNarrativeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r281",
      "r285"
     ],
     "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": "Operating Lease, Weighted Average Remaining Lease Term"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "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]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "auth_ref": [
      "r28"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r232",
      "r233",
      "r234"
     ],
     "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 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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax": {
     "auth_ref": [
      "r45",
      "r51",
      "r274"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of tax expense (benefit), before 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 Translation Gain (Loss) Arising During Period, Tax",
        "terseLabel": "Tax effect of foreign currency translation adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax": {
     "auth_ref": [
      "r46",
      "r51"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (loss).",
        "label": "Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Tax",
        "terseLabel": "Tax effect on cash flow hedges"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "auth_ref": [
      "r45",
      "r273"
     ],
     "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 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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r58",
      "r61",
      "r232",
      "r233",
      "r234"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": {
     "auth_ref": [
      "r50",
      "r54",
      "r55",
      "r125"
     ],
     "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 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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r47",
      "r50"
     ],
     "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, before reclassification adjustments, of unrealized holding gain (loss) on available-for-sale securities.",
        "label": "Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, after Tax",
        "terseLabel": "Net unrealized gain (loss), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively",
        "verboseLabel": "Net unrealized gain (loss) on available-for-sale investments, net of tax of ($82)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity",
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": {
     "auth_ref": [
      "r48",
      "r51"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on available-for-sale securities.",
        "label": "Other Comprehensive Income (Loss), Securities, Available-for-Sale, Unrealized Holding Gain (Loss) Arising During Period, Tax",
        "terseLabel": "Tax effect of unrealized gain (loss) on available-for-sale investments"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical",
      "http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "auth_ref": [
      "r33"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r70"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 4.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsOfDividendsCommonStock": {
     "auth_ref": [
      "r76"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 3.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "auth_ref": [
      "r72",
      "r229"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price.",
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Cash payments"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesGross",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "auth_ref": [
      "r74"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 1.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r73"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PlanNameAxis": {
     "auth_ref": [
      "r172",
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by plan name pertaining to equity-based compensation arrangements.",
        "label": "Plan Name [Axis]",
        "terseLabel": "Plan Name [Axis]"
       }
      }
     },
     "localname": "PlanNameAxis",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PlanNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the equity-based compensation arrangement plan.",
        "label": "Plan Name [Domain]",
        "terseLabel": "Plan Name [Domain]"
       }
      }
     },
     "localname": "PlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PreferredStockValueOutstanding": {
     "auth_ref": [
      "r10"
     ],
     "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, Value, Outstanding"
       }
      }
     },
     "localname": "PreferredStockValueOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "auth_ref": [
      "r2",
      "r24",
      "r25"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions": {
     "auth_ref": [
      "r75",
      "r198"
     ],
     "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 compensation arrangement. Issuance includes, but is not limited to, exercise of stock options and similar instruments.",
        "label": "Proceeds from Issuance of Shares under Incentive and Share-based Compensation Plans, Including Stock Options",
        "terseLabel": "Issuance of common stock under stock plans"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product Warranties Disclosures [Abstract]"
       }
      }
     },
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ProductWarrantyAccrual": {
     "auth_ref": [
      "r147",
      "r148",
      "r305"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "auth_ref": [
      "r145"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "auth_ref": [
      "r146"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "auth_ref": [
      "r150"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligations"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r6",
      "r7",
      "r143",
      "r318"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "auth_ref": [
      "r203",
      "r330"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail",
      "http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r14",
      "r152",
      "r316"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedBalanceSheets": {
       "order": 3.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r158",
      "r159",
      "r160"
     ],
     "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/2018-01-31",
     "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": [
      "r88",
      "r164"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognition"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": {
     "auth_ref": [
      "r106"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesTable": {
     "auth_ref": [
      "r117",
      "r119",
      "r121",
      "r122",
      "r123",
      "r124",
      "r308",
      "r310"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "auth_ref": [
      "r245",
      "r250",
      "r253"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "auth_ref": [
      "r249"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/DerivativeInstrumentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "auth_ref": [
      "r208"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.",
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision"
       }
      }
     },
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r171",
      "r194",
      "r200"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule that sets forth the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.",
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r171",
      "r194",
      "r200"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.",
        "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]",
        "verboseLabel": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "auth_ref": [
      "r105"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionRevenueDisaggregatedByProductsAndServicesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "auth_ref": [
      "r105"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/RevenueRecognitionTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "auth_ref": [
      "r259"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/FairValueMeasurementsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "auth_ref": [
      "r134",
      "r136"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "auth_ref": [
      "r134",
      "r136"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "auth_ref": [
      "r5",
      "r21",
      "r22",
      "r23"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/InventoriesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r182"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "auth_ref": [
      "r149"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WarrantyObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r172",
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of an equity-based arrangement under which compensation is awarded to employees, typically comprised of compensation expense; changes in the quantity and fair value of the shares (or other type of equity) granted, exercised, forfeited, and issued and outstanding pertaining to that plan; and cash flow effects resulting from the equity-based payment arrangement. Component disclosures are by type of award and plan name.",
        "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "auth_ref": [
      "r175",
      "r184",
      "r186"
     ],
     "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 Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Summary of Stock Option Activity"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "auth_ref": [
      "r189"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock": {
     "auth_ref": [
      "r121"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "auth_ref": [
      "r99"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "auth_ref": [
      "r136"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/IntangibleAssetsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r68",
      "r126"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations": {
       "order": 3.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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "auth_ref": [
      "r173"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period which an employee's right to exercise an award is no longer contingent on satisfaction of either a service condition, market condition or a performance condition, 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, Award Vesting Period",
        "terseLabel": "Vesting period for stock option plans"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "auth_ref": [
      "r183"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r183"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "auth_ref": [
      "r192"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "auth_ref": [
      "r191"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "auth_ref": [
      "r193"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "auth_ref": [
      "r197"
     ],
     "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"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "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 (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r178"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "auth_ref": [
      "r178"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "auth_ref": [
      "r181"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [
      "r181"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "auth_ref": [
      "r179"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r185"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r197"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r177",
      "r197"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "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 thousands)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r176"
     ],
     "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, shares",
        "periodStartLabel": "Outstanding, shares"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "auth_ref": [
      "r188"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "auth_ref": [
      "r186"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r187"
     ],
     "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": "Weighted- Average Remaining Contractual Term (in years)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "auth_ref": [
      "r197"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of share instruments newly issued under a share-based compensation plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Shares Issued in Period",
        "terseLabel": "Issuance of common stock under stock plans (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r170",
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity-based compensation award.",
        "label": "Equity Award [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "auth_ref": [
      "r190",
      "r199"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Expected term of share-based compensation awards, 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, Fair Value Assumptions, Expected Term",
        "terseLabel": "Expected term (in years)"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r197"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "auth_ref": [
      "r187"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "auth_ref": [
      "r187"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_ShortTermInvestmentsMember": {
     "auth_ref": [
      "r302",
      "r303",
      "r312",
      "r323"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r88"
     ],
     "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/2018-01-31",
     "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 Debt [Member]"
       }
      }
     },
     "localname": "SovereignDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r34",
      "r151"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r10",
      "r11",
      "r151",
      "r152",
      "r180"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r34",
      "r151",
      "r152"
     ],
     "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": "Issuance of common stock under stock plans"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockOptionPlanExpense": {
     "auth_ref": [
      "r80"
     ],
     "calculation": {
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The noncash expense that accounts for the value of stock or unit options distributed to employees as compensation.",
        "label": "Stock or Unit Option Plan Expense",
        "terseLabel": "Stock-based compensation expense"
       }
      }
     },
     "localname": "StockOptionPlanExpense",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "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": "Stock Repurchase Program, Remaining Authorized Repurchase Amount"
       }
      }
     },
     "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "auth_ref": [
      "r10",
      "r11",
      "r151",
      "r152"
     ],
     "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",
        "negatedLabel": "Repurchase of common stock (in shares)",
        "verboseLabel": "Repurchase of common stock (in shares)"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodShares",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity",
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "auth_ref": [
      "r10",
      "r11",
      "r151",
      "r152"
     ],
     "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",
        "negatedLabel": "Repurchase of common stock",
        "terseLabel": "Stock repurchased during period, value"
       }
      }
     },
     "localname": "StockRepurchasedDuringPeriodValue",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity",
      "http://www.cognex.com/role/StockRepurchaseProgramDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r11",
      "r15",
      "r16",
      "r109"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r157"
     ],
     "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/2018-01-31",
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventMember": {
     "auth_ref": [],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventTable": {
     "auth_ref": [
      "r290"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "auth_ref": [
      "r290"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "auth_ref": [
      "r290"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEventsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r291"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r297"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TypeOfAdoptionMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Adoption and early adoption of sources of change to generally accepted accounting principles (GAAP) in the United States. The FASB released the FASB Accounting Standards Codification as the authoritative source of literature effective for interim and annual periods ending after September 15, 2009. As part of the Codification process, the FASB issues Accounting Standards Updates to amend the Codification but otherwise the Accounting Standards Updates are not authoritative in their own right. All previous accounting standards (such as FASB Statements of Financial Accounting Standards, FASB Interpretations, FASB Staff Positions, Emerging Issues Task Force Consensuses, other pronouncements of the FASB or other designated bodies, or other forms of GAAP are considered accounting pronouncements) were superseded upon the adoption of the Codification. For an interim period, references to the superseded standards are included to help users transition from the previous accounting hierarchy and will be removed from future versions of this taxonomy.",
        "label": "Type of Adoption [Domain]",
        "terseLabel": "Type of Adoption [Domain]"
       }
      }
     },
     "localname": "TypeOfAdoptionMember",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "auth_ref": [
      "r166",
      "r168",
      "r304"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail",
      "http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "auth_ref": [
      "r210"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.",
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Interest and penalties, gross"
       }
      }
     },
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/TaxesDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "auth_ref": [
      "r97"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": {
       "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 Diluted Shares Outstanding Adjustment",
        "terseLabel": "Effect of dilutive equity awards"
       }
      }
     },
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r93",
      "r97"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": {
       "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"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations",
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail"
     ],
     "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/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r92",
      "r97"
     ],
     "calculation": {
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail": {
       "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"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2018-01-31",
     "presentation": [
      "http://www.cognex.com/role/ConsolidatedStatementsOfOperations",
      "http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 11
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109256448&loc=d3e4984-109258"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=109225645&loc=SL77927221-108306"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "a",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9038-108599"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84173941&loc=d3e5074-111524"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=109979856&loc=d3e26610-111562"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=109979856&loc=d3e26626-111562"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27161-111563"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27198-111563"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27198-111563"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27232-111563"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27290-111563"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27337-111563"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27340-111563"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)-(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27357-111563"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=82897076&loc=d3e27357-111563"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68049868&loc=d3e3927-108312"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "330",
   "URI": "http://asc.fasb.org/topic&trid=2126998"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "350",
   "URI": "http://asc.fasb.org/topic&trid=2144416"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(2))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "((c)(3))",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(5)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=68068213&loc=d3e12565-110249"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "460",
   "URI": "http://asc.fasb.org/topic&trid=2155896"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23285-112656"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23309-112656"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130539-203045"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130543-203045"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130545-203045"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=109196051&loc=SL49130549-203045"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=108792157&loc=SL49130690-203046-203046"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "710",
   "URI": "http://asc.fasb.org/topic&trid=2127225"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=108410482&loc=d3e1928-114920"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=112275985&loc=d3e4179-114921"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=79507207&loc=d3e4534-113899"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5047-113901"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)-(4)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)(iv)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109197908&loc=SL79508275-113901"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.D.2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11149-113907"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=109196918&loc=d3e11178-113907"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "730",
   "URI": "http://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31917-109318"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31928-109318"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31931-109318"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84176650&loc=d3e31958-109318"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32718-109319"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=SL6600010-109319"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "217",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238393&loc=d3e36027-109320"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=34349781&loc=d3e330036-122817"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "38",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=77890550&loc=d3e5504-128473"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911189&loc=d3e6408-128476"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6578-128477"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "30",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=109124213&loc=d3e6613-128477"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=6911338&loc=d3e6819-128478"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(c)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e6927-128479"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=35744584&loc=d3e7008-128479"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=6945355&loc=d3e41228-113958"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579240-113959"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(7))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5579245-113959"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5580258-113959"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41620-113959"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41638-113959"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5618551-113959"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(c)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624163-113959"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624171-113959"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624177-113959"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=SL5624181-113959"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41641-113959"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109980867&loc=d3e41678-113959"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109975725&loc=SL5629052-113961"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "25",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=109977999&loc=d3e76258-113986"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "815",
   "URI": "http://asc.fasb.org/topic&trid=2229140"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19190-110258"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19207-110258"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=SL7498348-110258"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=99377789&loc=d3e19279-110258"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "820",
   "URI": "http://asc.fasb.org/topic&trid=2155941"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=109250915&loc=d3e13433-108611"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30690-110894"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.12)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240200&loc=d3e30700-110894"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450222&loc=d3e30840-110895"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b,c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240241&loc=d3e32211-110900"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=109240241&loc=d3e32211-110900"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918666-209980"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888421&loc=SL77919311-209978"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888428&loc=SL77919396-209981"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888428&loc=SL77919372-209981"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "855",
   "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=d3e107207-111719"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109247956&loc=SL51823488-111719"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=68078379&loc=d3e122625-111746"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6801-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(4))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6)(a)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=114873765&loc=SL114874048-224260"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62557-112803"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(a)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62586-112803"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75019621&loc=d3e62586-112803"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6957935&loc=d3e64057-112817"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(g))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6879938&loc=d3e572229-122910"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(11))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=114873790&loc=SL114874131-224263"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=99384497&loc=SL65671331-158438"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=6484115&loc=d3e19393-158473"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12(2)(i))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611133-123010"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12C(1)(a))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611225-123010"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13(1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611282-123010"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=50485924&loc=d3e611379-123010"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "310",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6589523&loc=d3e617274-123014"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=6590653&loc=d3e638233-123024"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.24)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r331": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r332": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r333": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  },
  "r334": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r335": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r336": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.6(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=82887183&loc=d3e6935-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226000-175313"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669646-108580"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e637-108580"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e640-108580"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e681-108580"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669686-108580"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e689-108580"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724391-108580"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL34724394-108580"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669619-108580"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=SL7669625-108580"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=114867106&loc=d3e557-108580"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(13))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868656-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=115205541&loc=SL114868664-224227"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3179-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3213-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3255-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3291-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3521-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3536-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3602-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=109223946&loc=d3e3044-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4304-108586"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(n)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(24))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "http://asc.fasb.org/topic&trid=2122394"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1448-109256"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1505-109256"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1252-109256"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=SL5780133-109256"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109260490&loc=d3e1337-109256"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783971888">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,789</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31.73</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,879</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>51.22</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercised</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,475</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21.53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(726</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>41.79</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>14,467</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>36.14</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>203,774</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercisable as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,714</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>25.33</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.73</span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>134,913</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of September 29, 2019 (1)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,116</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>34.90</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.04</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>199,066</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:37%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Risk-free rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected dividend yield</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected volatility</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.4</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.2</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.3</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>544</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,114</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,616</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,197</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>11,633</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,166</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,244</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,402</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>20,695</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>18,275</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,194</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,143</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>33,442</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,339</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Nonvested Restricted Stock Units Activity</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's RSUs activity for the nine-month period ended September&#160;29, 2019: </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="7"/></tr><tr><td style="width:67%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Date    Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>75</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vested</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>75</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 the allocation of equity-based compensation costs to a given line item on the balance sheet and income statement for the period. This may include the reporting line for the costs and the amount capitalized and expensed.</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 http://asc.fasb.org/extlink&amp;oid=109197908&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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=109197908&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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109197908&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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=109197908&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>nonnum: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>17
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782962816">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:6px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:53%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,261</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,426</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,506</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>370</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>308</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>62</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>52,730</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,619</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,068</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,716</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,891</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>370</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>216</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>154</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>50,611</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>10,113</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Intangible Assets, Future Amortization Expense</a></td>
<td class="text"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, estimated future amortization expense related to intangible assets is as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,185</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,017</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>422</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://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 http://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>nonnum: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 http://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>nonnum: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>18
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6778073328">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax', window );">Tax effect on cash flow hedges</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">(5)<span></span>
</td>
<td class="nump">24<span></span>
</td>
<td class="nump">502<span></span>
</td>
<td class="num">(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_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax', window );">Tax effect of foreign currency translation adjustment</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>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 expense (benefit), before 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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109240241&amp;loc=d3e32211-110900<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=d3e640-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_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax</td>
</tr>
<tr>
<td style="padding-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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 expense (benefit), after reclassification adjustments, of increase (decrease) in accumulated gain (loss) from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's increase (decrease) in deferred hedging gain (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 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=d3e640-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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax</td>
</tr>
<tr>
<td style="padding-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_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 of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=114867106&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>19
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775263552">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock', window );">Cash, Cash Equivalents, and Investments</a></td>
<td class="text">Cash, Cash Equivalents, and Investments<div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,620</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>104,655</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,557</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>121,701</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,212</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>198,477</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>78,407</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>137,871</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,492</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>427,348</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>32,760</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>162,566</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>53,631</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,316</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,921</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>845</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>504,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>262,039</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>918,414</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>797,599</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.</span></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:44%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br/>Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Gains</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,254</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,226</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>86,990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>222</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,286</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>14</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,535</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,441</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(79</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,464</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>584</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(50</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,636</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>195</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>15,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,930</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>794,031</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,889</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:29%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,263</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(17</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>20,713</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43,976</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(53</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,093</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19,242</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(24</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>160,738</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(160</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>29,149</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(47</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>189,887</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$361,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$67,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$283,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$17,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.  The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </span><span style="font-family:Arial;font-size:10pt;"><span>$818,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$103,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$646,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$111,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statements of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#8217; equity as accumulated other comprehensive loss.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:35%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>188,398</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>68,217</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>115,941</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>47,842</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,348</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,867</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21,425</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,142</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,633</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>341,764</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>149,413</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,483</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, cash equivalents, investments in debt and equity instruments (including cost and equity investees and related income statement amounts), equity and cost method investments, investments in joint ventures and any other investment.</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_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>20
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789529104">
<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_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Dec. 31, 2017</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">173,507<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, 2017</a></td>
<td class="nump">$ 1,095,673<span></span>
</td>
<td class="nump">$ 347<span></span>
</td>
<td class="nump">$ 461,338<span></span>
</td>
<td class="nump">$ 668,587<span></span>
</td>
<td class="num">$ (34,599)<span></span>
</td>
</tr>
<tr class="re">
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,434<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 );">Issuance of common stock under stock plans</a></td>
<td class="nump">25,882<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">25,879<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_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,750)<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">(142,262)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(142,257)<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">31,339<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,339<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">(23,283)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(23,283)<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">173,849<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">173,849<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 of ($82)</a></td>
<td class="num">(180)<span></span>
</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">(180)<span></span>
</td>
</tr>
<tr class="ro">
<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">(535)<span></span>
</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">(535)<span></span>
</td>
</tr>
<tr class="re">
<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">(5,078)<span></span>
</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">(5,078)<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 Sep. 30, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">172,191<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 );">Ending Balance at Sep. 30, 2018</a></td>
<td class="nump">1,149,444<span></span>
</td>
<td class="nump">$ 345<span></span>
</td>
<td class="nump">518,556<span></span>
</td>
<td class="nump">670,935<span></span>
</td>
<td class="num">(40,392)<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 Jul. 01, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">172,032<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 Jul. 01, 2018</a></td>
<td class="nump">1,079,132<span></span>
</td>
<td class="nump">$ 344<span></span>
</td>
<td class="nump">498,343<span></span>
</td>
<td class="nump">619,212<span></span>
</td>
<td class="num">(38,767)<span></span>
</td>
</tr>
<tr class="ro">
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">553<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 );">Issuance of common stock under stock plans</a></td>
<td class="nump">11,071<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">11,070<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_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(394)<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,954)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20,954)<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">9,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,143<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">(7,759)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,759)<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">80,436<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,436<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 of ($82)</a></td>
<td class="nump">522<span></span>
</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">522<span></span>
</td>
</tr>
<tr class="re">
<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">(266)<span></span>
</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">(266)<span></span>
</td>
</tr>
<tr class="ro">
<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">(1,881)<span></span>
</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">(1,881)<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 Sep. 30, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">172,191<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 );">Ending Balance at Sep. 30, 2018</a></td>
<td class="nump">$ 1,149,444<span></span>
</td>
<td class="nump">$ 345<span></span>
</td>
<td class="nump">518,556<span></span>
</td>
<td class="nump">670,935<span></span>
</td>
<td class="num">(40,392)<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, 2018</a></td>
<td class="nump">170,820<span></span>
</td>
<td class="nump">170,820<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, 2018</a></td>
<td class="nump">$ 1,135,263<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">529,208<span></span>
</td>
<td class="nump">646,214<span></span>
</td>
<td class="num">(40,501)<span></span>
</td>
</tr>
<tr class="re">
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,475<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 );">Issuance of common stock under stock plans</a></td>
<td class="nump">31,780<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">31,777<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_StockRepurchasedDuringPeriodShares', window );">Repurchase of common stock (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,398)<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">(61,690)<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(61,687)<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">33,442<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33,442<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">(25,682)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(25,682)<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">123,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">123,538<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 of ($82)</a></td>
<td class="nump">4,827<span></span>
</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,827<span></span>
</td>
</tr>
<tr class="ro">
<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">(716)<span></span>
</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">(716)<span></span>
</td>
</tr>
<tr class="re">
<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">$ (1,544)<span></span>
</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">(1,544)<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 Sep. 29, 2019</a></td>
<td class="nump">170,897<span></span>
</td>
<td class="nump">170,897<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 );">Ending Balance at Sep. 29, 2019</a></td>
<td class="nump">$ 1,239,218<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">594,427<span></span>
</td>
<td class="nump">682,383<span></span>
</td>
<td class="num">(37,934)<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 Jun. 30, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">170,661<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 Jun. 30, 2019</a></td>
<td class="nump">1,191,640<span></span>
</td>
<td class="nump">$ 341<span></span>
</td>
<td class="nump">578,871<span></span>
</td>
<td class="nump">649,234<span></span>
</td>
<td class="num">(36,806)<span></span>
</td>
</tr>
<tr class="ro">
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod', window );">Issuance of common stock under stock plans (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">236<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 );">Issuance of common stock under stock plans</a></td>
<td class="nump">5,363<span></span>
</td>
<td class="nump">$ 1<span></span>
</td>
<td class="nump">5,362<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,194<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,194<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">(8,536)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,536)<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">41,685<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">41,685<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 of ($82)</a></td>
<td class="nump">265<span></span>
</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">265<span></span>
</td>
</tr>
<tr class="re">
<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">(294)<span></span>
</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">(294)<span></span>
</td>
</tr>
<tr class="ro">
<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">$ (1,099)<span></span>
</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">(1,099)<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 Sep. 29, 2019</a></td>
<td class="nump">170,897<span></span>
</td>
<td class="nump">170,897<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 );">Ending Balance at Sep. 29, 2019</a></td>
<td class="nump">$ 1,239,218<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
<td class="nump">$ 594,427<span></span>
</td>
<td class="nump">$ 682,383<span></span>
</td>
<td class="num">$ (37,934)<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) from recognition of equity-based compensation.</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 http://asc.fasb.org/extlink&amp;oid=109196918&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 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-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 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=109196918&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=79507207&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://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 http://asc.fasb.org/extlink&amp;oid=27012166&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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<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 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<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 http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=6371337&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_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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109240241&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=82897076&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 http://asc.fasb.org/extlink&amp;oid=114867106&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, before reclassification adjustments, of unrealized holding gain (loss) on 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 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-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 http://asc.fasb.org/extlink&amp;oid=114867106&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 share instruments newly issued under a share-based compensation plan.</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 http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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://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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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>21
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775241712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,743</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,301</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2,770</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,274</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://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>nonnum: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>22
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783020080">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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 Program<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In October 2018, the Company's Board of Directors authorized the repurchase of </span><span style="font-family:Arial;font-size:10pt;"><span>$200,000,000</span></span><span style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company repurchased </span><span style="font-family:Arial;font-size:10pt;"><span>1,601,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$70,312,000</span></span><span style="font-family:Arial;font-size:10pt;"> under this program, including </span><span style="font-family:Arial;font-size:10pt;"><span>1,398,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares at a cost of </span><span style="font-family:Arial;font-size:10pt;"><span>$61,690,000</span></span><span style="font-family:Arial;font-size:10pt;"> during the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">. The Company may repurchase shares under this program in future periods, up to the remaining balance of </span><span style="font-family:Arial;font-size:10pt;"><span>$129,688,000</span></span><span style="font-family:Arial;font-size:10pt;">, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.</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_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 http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6662717856">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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_LesseeLeasesPolicyTextBlock', window );">Leases</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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).  As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q.  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 </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#8217;s financial position as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Leases</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration.  The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less.  In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term.  When none of the criteria above are met, the Company classifies the lease as an operating lease. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet.  The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company.  Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate.  The Company&#8217;s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period.  The lease liability is reduced by the cash payment less the interest each period.</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Pronouncements</a></td>
<td class="text">ew Pronouncements<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.  As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures.  Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium).  The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract.  The amendments  in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.  Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense.  Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement.  In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element.  The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted.  Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and 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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 for leasing arrangement entered into by lessee.</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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918666-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_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>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6948074320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock', window );">Lessor, Operating Lease, Payments to be Received, Maturity [Table Text Block]</a></td>
<td class="text"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>77</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>998</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, Maturity</a></td>
<td class="text"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,650</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,628</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,314</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,988</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>309</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>17,551</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://asc.fasb.org/extlink&amp;oid=77888426&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>nonnum: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_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 maturity of undiscounted cash flows to be received by lessor on annual basis 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>ZIP
<SEQUENCE>25
<FILENAME>0000851205-19-000012-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-19-000012-xbrl.zip
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
MK_?I%X2,-NE\P85"+*>%"99C RF%TG+]>W\P[)\,>RC0_PUWL#+6%K8W#.2
MCHBGI/[53U"\A7Y[Z*@!";[L3S%>-"<C#1B0$M[9EAS!/2)W1(_!M2U!VLIV
M19#!U8:@,D,N("</HG_U([B^OM4?'F]'13+.FU$1P>V"BM,C+!RM:E";H_ID
MM? PPXJ+]17\KD>9)T0&RV6"1)-XJDD<?MB"1(.9D:F."/5)2D/ME(X&8HD@
MMN[?[N?KD)&&_!8 [I":=I2T)R.MD/?FEUM3'2D W?'[9EU*XKR=\N61PWVF
MQ%I[IK_5<6DVN.A'/T'2DAA?"$BH6E"3!HQ_;4V/2ZC)=<I(D45 ^J*?0+>C
M@*R<666XR9$00YFK-B$F@XZR)9$FT3AIHI046'C=3U"THX1AZLC&UI% !9=;
MVX6DCD8W;$)$!*,O^@EP2P+40C0WBQC*7)68!6:,*X-)WXIN+A:437AP!^[I
MJ/TQ"MWW9(),?OPQ#)SE6?310O %$8I",I6J#@R"F2"3LYXN/_I1G?%O!WMO
M(>^.FN0ZR"85)D@!B.-[AHF;A,@(@W;;9ST)TO9(R/E/9\HEDZ9, 0AE=(]Y
M\O"X*4\ 0KP]96<A2%-V $1"-=[*\#2"1VB *!27%UC.]+_+/WRZQ![@E"/F
M7AM'JNM]V4.Z_=/]=5&9;NBI1A/1$%&1&-FGX^'@_7 P0'WTF4K'X](7!'YH
M?&_,_RB%]@W"S$4IS+\=;>+;Z,F7Q+UEG\SUIMQ"X+!)">#&0*\-EQU+5K#P
M9J26;91UP<&Q,WUU.ZEL_)DH3+T=Z;=-SV4F\6[P_MW@I*5)Z)8Q/8A/:L/]
M&E#VUX--O9"9U-7\<5O-'S28%_KE9$(<19?D*U:^H&K]&8I[&*>C)4@*CST]
MZ_L @"^E]/;]5]K)A_8>(J8*160A0Y?V%S%E_0D7?4W;P<@JE/Q%<"F?F"#8
MH_\A[@W\(KK)%:;B=^SY1(*6?Y;%[8B82O-[W][\#(DHH1$%1)J6FDP4T(G
M  _FV-P<'_SY'(OUSW-R#3JL-*MW[<TJ)./@Q%I9S:,6UZY*GA!9F;9/!N]/
M!L/6N4[00Z<TR)GD'G7UZL0Y]O2JTL.,D-IE:B%XB9:@-#T9F/+T <1F5L%-
M@9&@0B$N%" [Z$/).RR JQE1%.C<4CE97!6:>F_&4TU-H5\SN+LZDF)IW4X>
M9B"0&?=<(J1V/FK=7'GEZ,KU][YBI"4/(,*EL?\%!?@/*LS+?,O!V !WA7(K
M!F>E<@_C-:N0<++MRN//+2*@'4VY"M_5'9_QO!LR: ^:FN@I2;!HPB1=0E4
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
M%JN>F2^:92O;9V>FX<3:^N6O=E)[K:N=PM*UW"$;UT'^<42\J*JY6RPF]64
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
MR15MN=.H.F\/U*X(]-O5YV)NT3P>P)[MA1)HD0G".4$YHR+8.H8A(#0P$/J
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
M86'H9_6S%K8_VG7.PH;![!,-MUT#,<C*\NFFY$_!9<XV7C/<VKL2A3#VAD+
MC*=:(VDA,1@X1L.\%O[L7^SXZ0C:)K(M1PW.(]I>2G-Q_5NH)QO.+9'R]01@
M\N(^+V(L[0*)SWF4.9T\EFNDEM]<%&O(/A7YPRC:O2W?:#&7IN6K/WY/XP76
MT\>++^/1S1RP3M]E;N/MV>6[R8;O6D9WPQO;QOKE32HO4_!U\S:3C@>S\;)C
M;'RB;=3[\LZ]NEX.4/&?+V$P_,]_^_]02P,$%     @ !X%<3Q;4%3B4XP
MKY,* !4   !C9VYX+3(P,3DP.3(Y7VQA8BYX;6SLO?N3VSB6)OK[_A6\/1MW
MNR/257@_9F=V \\>QW65:VS7],ZMV%#(*69:4[+HD90NN__Z"U*B4OE2$B1!
MTMX[T5-.IS.%[WP'^,X!< #\T__\\G&5?<XWVV6Q_N<_P1_ G[)\?5DLENOK
M?_[3KV]?J+?FY<L__<__\5_^Z?]Z\>)_Z3>O,EM<WGS,U[O,;/+Y+E]D?RQW
M'[*_+?+M[]G5IOB8_:W8_+[\/'_Q8O]+6?7%:KG^_1_+_[R?;_/LRW;YC]O+
M#_G'^:OB<KZKVOZPVWWZQQ]__..//W[X\GZS^J'87/^( , _'G_KR9\H__:B
M_K$7Y;=>0/0"PQ^^;!=_RH*%ZVW5=H-&ZA__\N#G_\#53T,IY8_5OQY_=+M\
M[ ?#Q\(?_]=/K]Y6=KY8KK>[^?HR_]/_^"]9MJ=C4ZSR-_E55O[YZYN73Z*3
M/Y8_\>,ZOR[Y_B7?+(O%V]U\LWLU?Y^O HSJTSYL\JO'/V*UV=SYA)(A63($
M6<G0/SSSP;NOG_)__M-V^?'3*M#S8P?\+0#O'H)-A:XBX><V(,^Q>O\#>\;[
M+@S=O%_$#S^R9\S[CN;6BQ3]]_[']HR]7\A)>T:QFZ]Z[AD//O))S*ORIUZ%
MKPX_6'[Z&?FM&C^(ZLD'YU]V^7J1+RK1O//1V7+QSW\*7\UNMB^NY_-/,QN\
M_SF$DL_YRZ"TFRI$;=5Z\2_YXCH$,W49_FFY6^9;N]Q>KHKMS297[\,/SB]W
M,ZP0\(Y#(20FW!N!%0242J(ID9"*6=7D+%^_^/5M#;#Z5G\0*/<"4VHM5*%A
MY06E2'@ J.0,.,/_%,/C0P]M\FUQL[G<A[> O8SN>W/^QRWJ[ 1V-E\OL@/P
M[!9Y=@L]^ZT&_[__Z<=;2NYXJKA\K.M5D*_FV_<5[@-[ 3\4/^:KW;;^SHOR
M.R\ / 3R?^B!YOO.*RX'==[>%ZLRY2DVA^%RIU>KS656;!;Y)J1B]2_--Y?/
M./WP$S]>%B&_^+1[<<?_94HV@J7%\$-CSVX@XS%FF^G%7^?+]:MBN]5?#\#>
MY*LJ/=U^6'[27U^&S/AC'C*D75[^>)V[ZJ^/?=B;Y?;W=_/WJWR&%(%(*:^8
M0M@C+'!PVT%>/"1VMCM&W'8:DP8V=$0(I+A"U%#!I&8.2..Q#CYPU)$82=H]
MD5-$Z])%5AJ;_;DT]R_9;Q72I_5G\I[O$%BF[_0^XE"<OX>+-TG8CPU/XW:!
M"4>SD8EI$ORFX+NFL?* T.;;Y?6ZPJ&^++<SS@%BV%)!G1&$,D'%4=V$P3(F
MKCW1!!..$Q.T4D-(L</2&(LIX,0#3"Q!B6-0G0"?P II;P 6&7+:$M@L/ S
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
M>\TWN<W]O:01_?6)A-G%"!WW^T@ZQB"NYUQD--\_EZ)<7J^_I-G!@,<M#*$
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
M$Z6.##5ZG4U=EQ=;5 /RT C"B$(,7,BH@#?.4PWMH1%--&YT(U_+CTX]RZH
MQ:A/6XK.R\T [$1.H$Z(B<S[VC(4\59:6J;:O8QV8.Q] /5#Q]?/'ICWB(!V
MY&$"+YMU %_TTA?B4K:?;M;+R^6G^>JT*6T]8=XZ19Q3@ ' ]+$I"UG4Z[JM
M&DBLCT=,;1*T=HPUR\N2DQ4GE_=X&BD)>XR4,[E7)PZGD7)U,Z'HL4_U7\C_
M:KG.7^[RC]L90 QHS%U0+Z,=<-($% <,7!/>=S%_\Y83R\^]N<W]"V^K"O/?
M2K19!3=!/7^$$QI.*$?C/T[1>J-^M++^(XOGII])O#$-;4QD6XL2_[8,QIP\
MG'G.+(("&"4A8- R>11J Q6)>AFDT0>FKDT(&"(+$AK1T$RF>F<@3GW.&I_L
ML.2Y.H$8/J8Q_N,@/W*\,=+>QA.I8IU__6F^^3W?^9N0:*F=F6\VY7L5_S9?
MW>0SXP'@Q&*EI"X?J2"<'UHE2"LGH^94'=M*/;TJX64?*WS9\K;\-'*>U970
MAE.N ;F,G'U5-.ZA916VBVR^RVIX685OX*G8>;+.S<IZHGD:(M2;-??G:KVR
MU/&*@WMM"^2Q\,!C1J3W1"J(W&W;&LQVQ6Z^:IZ)=&\Q2L:.X**B=77U0?4.
M67Z+,SY_Z8'=Y@G.L,3&9T"/7B<QNK0U8NZ95*H_YJ<A<SW;U.RNB4Z,-2[%
M?')6=W<_<G\A_FYFE*; A,S1<*4E##@<KE$(Q:,>..F[[=0SMCV,]L]L]<YU
M,RD<D^;>%Z4N#J^*//TP3)H2SS@.S\AC*F],0RB367>_/#0IBWV+Y\^!O ,0
M"IFS0< Y!=(J:)V#\*CBF$;-?A,TGUA"7Q7KZQ?A]SZF%]$8SOO5T41T)Y#2
M6Z335--;?#T(:@NW?%N:VL; EK+:FLNFREH*Q;N@$R]O96*F?-!J;HV2#CK#
M,=#@<%J;8"-$U)UG;3X_L38&3E]<=DTQ6_'63/Y24Q:G;[>1Y&4#KI*HV".$
MG)&I+O1-0X<Z65#TUYDB:EW+*?6]:?7;#\5F5S8=9MR/H8""4HLYL]8P1BB'
M0>!J%, 1W&1U+U7;B=?YWI6_$E$$FH+=\UHT!6);K/,]N#*VPIN5*+. ."LA
M[__61,R&<41$N>[(#FE7SUL"OGBPHGV1;2O75)&E7)Y=E:ZY/V/I6@ <3]@C
M@24U]1,H(4YI73%,!XY\CWIS/5\?WBDQQ7I;K):+ZB\!Q2^A,]>]_.16H[?A
M._G'.Y<3:P2<D=1Q7+Z/3: T]:MU2FJ/FEZ4TP\88Z#T$#L'%*, 884QTE)
MSPP*])ETTGN*_R*[8T$UM$]M.#QY=+C-[-:,T2[W[H7\,^GHL,Z=1@([L,WW
M7QP>@?&FNO-S_H>ZO"QNUKOR3>--L0Y?7AY:7B_,AS"L\NW+]>G/+ /"3ZM\
M>_OL */$*TB]15(JP#R2$!QEQ]FH"KU> $F*K"/>28$)5=:KH(.8*>Y F$T@
MG_H:M&!#=A=ZW%Q^&*<TBP63\T=<*"A=<8OMGE?VV_![$T*6=_<':RNRWT9[
MIJ4/[L]$@D%=.XU ,*S)Q8A#*?+82AUO3F+0+\5V646I.@))K"E3Y3LR1D@N
M.2#>>@U"(@Q#=BF;WGS62UOI%.,([VYF6",<+2]L0MN9P=XKZ],8S/V:=/_X
M0_]\15V2=O+BC$5$2,)YF'F&KP%5VM2-0$WC"F_B/CIQGJ3>OG7OWK:X^2R"
MG(8[O.EXB5.?^GGUD43F+@_G]E[;$38-X6@+_K&;RMIR$"<&AVJ68ULAU ,+
MN.-<$H,$-\SZNBU.X]XY:=?"0"5W\PK</[;1B&C.8J0B)5UM%.-8'3>R=-SC
MY5D%:<OCE(2DM0V/ZDDW1OH]\  @TEH"X(D&ABI*L7.'MI42//KH9?<64\M.
M](&';[@2ORG7TQAK/=O4JA(_CK'&(7X_X=^^R2_ST/+[5?YSOJOK5YE  $L"
M$(%8NG*&CTC=I!$L[E;D+@VEG@L<L&6;([B+;)5ORV]L\\WG?%O.Q_\KO!"<
M5",T?,D(*Y?MRFW6ZEOE:+HH?_Y3?KE;?LY77R/SADZ.:)@^#.6#R"RBIO_-
M"?T!V5A5]V=8.I=3]$'N-.2N'U/N9QC]\=/X39SU^^5JE2]NFSR6YELH/3+0
M<(*IM(8IQ'3=H)<Z[DV<]LTD%K8:6="ES_GZS)F^WNEK)D@#,1<G1T?23E"-
M)$5/\W-&B'H@=1HRU(<A]]_$Z8N;IA)45N^L XE?@]C-+"%.01#:P,("@34'
MJ&Y"$!QUL5_4!R>6F1I+]%,2<>PTTY1DQ,2IR!%&E<H,*QNG%)P1BE9,34,:
MVD$O>N@I<</_ETW^:;Y<N"^?\O4V#Y.\U[L/^>;.8LM,(>R\!X0#@IR43(3)
M7=VRU#IJCZ6/]A*+Q0%BEN\Q[@LABA)F5A]$V2^\QDE)+TPW4YBA28X3GIK?
M [R*W@I@=F^U=EA-:D#:&:GJD_)I*%BO%A7I.FB'':,9$M0"!;%2#BDFC92R
M7K+2!A@6<V=-W"=':5C+,RN=Y"J2J!;;0[URU&E;:,2]H*9[0(W)FH9XM,1^
M;L\GDH'F"5#Q*=_LOOX2.L@N*%&YP/VI+&TI<R[DO+&<&2#+:SH!P<S5&J2U
M-%%7$'=J*'G*L\=VD7TJT5U4,3FO 5YDZS,3A 2L-LUR!B(T-KVIN:R 552Z
M6RH'GVN=H^EL0M,#N],0HWY,>9#"],9/XV-0H<%Y6?KZ*I]O\S?+ZP^[UU>_
MAORIE,F9PA JPH1 5GE/+:%6U&U2$/=\<;>6$HO5$5Q6H;O(*GPOBJL7 >%^
M#A$G5AUY;:96PU$:)U==V$QSQ.L<46<$JQ^"IZ%8/=ER_ZA5CPPUU:R_%L7B
MC^5J-;/"*:VLD"3,Y9P#4#EP_'@:)T^-/S2Q$M4XXN2F.27-E"4)&W$B\BP1
M292B;O6,*$1S,XWQ'P^[Z-@GXD:U7ZZ7N_S5\G.^>+G>A9ZP?+_:R\BV3'^
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
MG8^F&E"IO&(TY$]2<N4P)UR!D$IAA(:2E@I26T&)HZIQ#I**I78I2".">LQ
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
M5-]M1TEQ_.4@?WLBU2U/CNR_?%%*\^?YJMR32I0 MW=,IQ1X$)\D38(/%DQ
MDY]F,SX1[NR7"6MP']8U2X9[8C%^+=LOU\M=_BID=8N7Z]#H]?+]*C]959\Y
M+3U3!%LML%&,&<"!9X)CI!EV-NHX4$2SR"AK:6C#,TY%69U ")8.8:2H\CIU
MTGNZ_[_'^J("F]VBO;O3%'E\IT\'Q*XR#\I]^[*+CK0G7CI^CL1&:\*]>6(:
M&IK"L"=7<7OFKO'SIT\WJ[_^-/^/8F-6\^U6?5EN9];0(-?0..&,8$B&87L<
MN0!C%/48:D2['ABK.$"&*DVA\TH)B['32ADCK4Y].<@S _?]UZS"FU6 L]]*
MR)'JV:L3FLGG6/S'Z6>OU*=Y9+4YCV<D-(4WIJ&A22R[_QQK,O9Z4-';]G^>
M?\QM\7&^7,\4,\00(8S1BD,"K6&V'L14PZA*B=BVM0>.F& XUIX2(H4W"@#G
MF)?$.9+\G9ZS0_KBSH N46>_[7'W)ZGM/-)95I,[HT]I;>.'H?7U,4+;:6PG
MUTQ>9[M9UUQK>V"QJ=[:\BJ2Y?N;LK;W3;D L3U<2<*D(.'S!94(R3#/9%B0
M>AC+ "!&6)]L1%)FI-<0$.DH1U:7]U,3"TQHASLK4E>2G>#*UOGNCV+S>^2N
M57O^FLG@(-1%5G*=LK;'--*M=4^1<T:[.O,Y#9'J;D;1<S^+E)W\<[XJ/I4/
M.5U^6!>KXOKKG58%<YK ,%@0HDPX#SU2A]'#$00P2GV>:<L'367..R\AI11:
MZ9RA7*J0S5K'+$TL0N69\E5>;A;L:GS+V&O=.]/94(P&9#)2DVIDV2VTD;7I
M/%?G)*HGEB>B5'U9<U^P>F6IT;4,YF:[*S[FF^/97;5>O,E7U1'O[8?EI[II
M@C4%&K#R$4&"B)3"G(XVW/A2AJ8-"@\9]<A#R\O[<9DPT!!FD+;$$6*BGD!H
MHV 'F-GF%%O$Q0"]$7M>QD;C-$[+CG3>7KM07KEY!V2;&S=[8SGB\H4QV&YW
M]4(_K#>[@Z$A*X_$B"2D3N#^A=Y-*A)VPLB#K+L/^>;!#'_?8GDCM,) .*ZX
ML@(0#$P]U&28[D>=8CW3CL-4&HB0LE13YJF #O,POHWWG@*4>L_\YV+]HKJK
M;)=G\^M-7AVBB#W'VH7&9NGM4 S&A8,*U6/;W*.DM6<X.I/2]L'L--+97BRY
M?VBU-W9ZV&5Y=;S8T3%E@=?*2,RA0-HS4J]@<2)QH[O%HAK42GFDRY.3C%/M
MK.(<.&2D$B) 4>/NIW2XD;<?MCMOFZ0ANM=MZ/%NP6W"6[LMD7C:IZ%T_9K4
M?/.C+5\]:%_U*MJ,,^LQ"JD?- A8#@15NAZ)SO.^BG/VC4E!G98\6.H)9=IK
MRS2DKBS@%,YRG%CS]B\2FOEF\[4\']+BPJGN='86MOZ9['<#N,(W&3FKT+23
MLCBB)R]CD>8TE[ V//4@7R?O.ZJ/Q6:W_/M^A89Q)BF"% BA#*?6F3#)W8]
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
M',;7E >H?UNMR]?[\O-N(;1#0DO@M&.$6L@,T/6XU8 "EE0N)"\R12$*\4%
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
MA^!@0Q&,F"P4]W7=2 %Y A=.%I;C^%MOUJ\N&IZ?)C1'D![HJI\L5 ^UMF_
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
MII8&+\;#R8QX6<^D)\=?J_JBS=C)=[U9+:[#5W7Z_FVYV)PJ+#U@CB"G %4
M4:FQ"86FADH:;+@$:>^R9$62>]'N2.'V\(L#_MW<O;:@]TI>%D^E9J=+.ZE[
M!FKMGPFEE@YLMTH?.;TXM121U=:3:2 _PVVE_F6Y7I?EOJWFRWBBYBB_$(@1
MP!HCZ:$$ !*N-(!>4&(I19*E:/DS0SF$N;)64A\^G@$F@">0&N2<A$[AI)EH
M!['>PDE3W[[DM9/7$7E+T\\ML*NC=KU;;!=\*><\5V?4;R"2IR%O0QE397D0
M$^>B3T^1XZ[VAS*N*>EO3R\SQ07O>KW[:&GIS6+]+[\JRQ?+H!!!>N/)[%G
M2;D+,VFM+30&<*S9]H4YBIC22;W9\J,-,F*\USC\ RF#4%%+,!->>R6@H4DG
M_SK(9,3TI]L JKZ (G&R>GE7MIS0_E1>'&;3NC@R+]X6=&;+X;"5=+S)<%5$
M2XMH:M'86E^0,?+T.+?OSDVA)_/<3",/38B/QU/QZ2"[7#9T7S^5L?1H;LRK
M<6,B,6766H$@IX9X)'4CH40K>[%L^"1:HC!C#%D/B C*[R3'@&M+K&(,4)/[
M!%.#:7]79_%M4=ZE[J-?WJ<72(O9W3F9M+A_2!I3?_:L^)3KQLJ*O1Z;_\"L
MV(^/G%EQ $]=-"O^O;H+'Q-?F:Z1L[B4(P Q\1"\<DIZ:78:BB%R:>\CCX'7
M:Z0XA$1I207VBG%!-)/60R:XS-WQ>R]ZG_>P)I 54WUZP;R8T9W3RXP'8_]3
M<N/W[AL[.W9\>/Z#\V-71L;(D+V\E90CWS^/_'T*\G?EZA[.-,-UMQOOA*/Q
M+A=B92.C%@.1G!KSP!22& DL!"A>_&"(]$((ZAPF6#GG<Z^<[L4N_.Y]\8?%
MLOA6SE?KTQ<<3LZ-"=EP^AZ<7A*,-EX@\V5QU7,)[[+/QX3RW(6)>"J]3<$W
M;;/:WZK/-:X7R[>;^?(F('ET[E5=7Z\>YG=OJKL[7ZTBU!GQE@)%.%2 Q.L
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
M='!@-( K]NCJN?CKRS":<C7QJ,QVO(>XS3-[5=27I/;-!,_R<2H-#$?D!'+
M@,9461ZVQ(N"GQOWU\#)PRHNS<^\% YH X 0PE$!D8SW@.]F6<38V>=R];YJ
MW<0J863G".0RWD_DPWB "8\@#=,\CST@@B1-MXY!)KS/6)<$/RSQ%-=W\_5Z
M<;L(E<-\7<R+Y1YTT=@W\KVW[6D]LTZ0PSG36!;(8MGC"W"SL==J4O?;\K K
M$I[2W8+C^F/U93E?SU?-%LNF.CRLS0IE^/'P/)>;]8P C2E5%!#%0S&E))>'
M14-DVL_[!D'#-;86$>N"YE!#F, 2*F0)800#+7-W5&X5_LOCX/]NR7=K1,)$
M9QP/MIA=3LYY:1/08_C'B^]%;<%6L?=&A%G2S^;!A-GLY#S9;<([L$>;7U@_
MW-4[-?6&S?Y"^[MJ'4)\OEI]"X'_9;ZZN0H_O%[<+^[FV\WI^ -7(6>%;\<_
MAMK])D Y_HV^D^XAW'9J7C[J(S&!J?NX]E:7"KZT N 8VF$+>KW?R-@O/ZGE
MS7Y5ZOIZ]5#>S"C3#%.CN51*6*<4UW:G3YP8G'3I:A\<3"LJM'(2V#B)4EI[
M;*2RU!M-E<A]N.+I+86KXL,JR$/:/F]6;[3;YIV*(WID^KB^U."N-WJ;#> ]
M]MI5A[V)+?QQ"[4>/)\IW,;PWC0*N5$LK<:/C81"[V^+Y>+^X?ZP:7"T_1S?
M+BKM0_FN>E/>;?]V5\6L9R%Y4$F]M]@XSI"3S#3GL;AWLGUMUQ6 HM9HA12/
M3;N55*'.Y9H+ 06UD9;,@KV#?;QU=E36%>46>W'S4,89Y&H+__A5GX1"()N/
M6E1O4W!/FHPWGCG:/S[6[QWLNJ'>NZK8(8\_]&9"GDFHRJ;@H6Z%6.\8ZEL9
M=:3N5#&4VQ,3J'^RFUB-^&2GI,GYUTY09$C2G%JDE*(.08LQ=?M EZ35L<A>
M *S&C!@@O%22<BD$#U\C8RW3@EFA<J?)+>QQTF0N'[5)DQ-P3V*:W'EFE#29
MRS,I:7("'NJ8)OO&4.\TV8VZDVDRLR>FD"9SFUB-^&0GI,DPYK=ROEI78=Q-
M51Y>8'[_K:YE0VF[N]OE;<"PN"YGQBGGP_\A89)J@X'@H@EQ9UW[!)D^M$7
M(A/&I%Y0KD-ES8V$# L')(8T]^FVJ+(UXKA;4.\S'($NWG\K&MA%<Q/2#GB"
M\&;P1XMD>%E7I*7!G]0+"8GOLM[HEO*&]TJ[3)?,U:D<EX_T"62WC,95HSRX
M::=??CB-$T_:K'];!HJ/OOEJ\S'\>;E9U.]96VP45 I2:)&'#!$%]@L\H09M
M=4%8G_'#A%D)@#3'@E*MC90&0F ]$-+S_"=DGHW?S_/5HGI8QPELW"6?[VZM
M7.R.0%;1F*+<69-VU".+NUIDO0EX*BWU/7VJL3ZHN"YJT-]]OX9=N.GX).U
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
M(MZDFBR,>[69*T<H)Z%BL!96-GK:)&E?\/FMJLZ_@$&X!2F;1PJO@K'& VE
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
M"06&1T[>P(#T[780D$F\3CG_KKQ<AHY/%W^,KE_:$YY[M#".$\T0)2;=WP+
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
MG54=]1C0TI2]3TO49Y.T+ZB\('YW['9;6A7.<$.P8XIHPI6D6B!F#6)&4:)
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
M'<%Q$8.D/"JAM644I\(V7H&UDQ/@/L##]"%NNBVQYG3*KJ1[,G0 (GI/N;=
M20DK$CFF4\:R.+%SRE:1L$>EE6;4/J5**Z"4:!Z18A(AKL%PYL$RHIPG@BEF
M3^RZ^5:QL$]QE6;D[AUH^3O"ZR8Y%2V^KL#(,A&E$HZKE+%B95"*<DT#L=B;
M''-D@/>4#&\//QPO#RF._S%>7'TSK?GC><W?/0D"6P<<[ I][^1]A5K&VTB)
MF; <,66=M)%R+K@D1N-><S@^E;-Q=?Y^,9HMCF6U[ '2&OM$WVP]9%RJ.?_/
MF_DBS;IA/.I]P\(:IC7' 8LH.-BJACHF2*08IDX#RW$,G+:7-!^^K7)F[T.=
MMZ/;]+KJXNPNJNOL85372R<[N]H57!N"* P\"L(5UB8@Z9W6@<%/R7+*7=9W
M!>@5LJ;EY6BQ?O:DL=4%:WYH!4VV#T&-0B0JJJQ/21,6E#[)J37&(LQ#KXG)
M*ZT@3+\#X ^)J8<*:#WPK>1=1*,B2KG!T1$?/><A:J&(,!AT,RUA:ZRUFKJ9
M[?U=DTWS6>X3\)O=0]K">PH4TW7!7B/$0*,(T6HD<4)U] 1)]]U>-E@;9R_>
M.-H_=X[0I]7HMLP67U=0A(P1D0>&$<=>*Q1H .-.1NZL"P>[%."(H#X OO2P
ML;Z"-M/+,8Q[M8X/MIO^5E7G7\:3"0B2IV-JE(_:J)_"4&2Q\9$B@;D07 >=
M2O!SY;#A--9*2^V&'B\/OHY0J=&Z8$J[R-+UL$9Q%XC16CCM%8H6,2S]:1W@
M=(2+JFNZ'T &'#K-ZS"B@#-OM9?.8FVXC%$'*RU1DF*FD@MI$*KW>#I>P(;T
MN?QF1KM2O.IW4A!GO.?$BB@D5P+9%*>K Z'$<!/M=RT8:J/D9<6Y7?+WIA6_
M/&Q[^_OH/ZN9FXSF\]U7:]3MI8C(>2,1<=Q8CD,T1GE*@S7&@;BT)Q;(T@5
MOKU"HR/B#P"$]^/_8W2].Y>K84^%C2@P!V2@-G+&M(K.(!2"B)J%P&KM#L<#
MQDZ04A^-+7"@+T3"%K&8C3_>))Z^&U]>+787L'VI2:$YZ('18L1TX))X"],E
MS",'VXL,6<&DQX6Q//Y7G9"[-T"EL.KJ4WE^E^-T6Q=7VUL6$6@G0@PQE:=(
MSH<0')?:P&KU0?A3\PGU!:]6J;Y_KN+-?%%=E[.[2CJ@SKXK)ZNSGJOQIQVE
MVVLV+U3$@D<2,:C G"H!]K!CPA'K66 LJZ[#$./=.\90AZ3O2UR]65R5LV^(
MLTM4;6E5!,JUPX2D8T<N(E<X4"EATC%&CDB.]3G$<,R>Q%1[%!^ KO^Z3JAP
MC>8%**G+<K2P?"2W ?18B0)QVB@EC#<Y6OT M\3#FIC[4GT >/MM5LWWQ-JR
M::%33(>6,._(N+! 0&$Q#T&AH(*7.4$RQZ79[P&"^@C;A]8#0)<Y.[NYOIFD
M@#US7<T6X_]Z*1!Q_\X*9HFCCA(GL5S61I#88B^XI4XC9',N2!F@I#L4 MNA
M_@ P^4>Y-81I:\,"<Q8<XS1* YM'I)8&;RW7D1&-0];%[\V-A&HQFIPDUII3
M>@"XBC>IEL_#M1&^?BJG\SK'>3G=%IXS84(4"C8&3@.RQK(@EK%&EL*OWXU5
MT2DFV^;# !#[S&3>E<D4 ]XG17I^-IK\1SG:FDZ;WWNAI ^14:\"L Q9:V#A
M8^TTHX9'WV^P1A_UQ/H!68.=O1M&#1/@?Y1?%Q^^E)//Y>_5='&UI^E3H^."
M.9!!BBF-B>3(4,VC<Z"XQ\ 5L3X'UL>EE@X%U)D<&B:>T\+\\*5J#<;K_@JC
M'-B68%-:93B34BFK-1B?WA.AV.&N:?YNT;L?8P8,6GC]UI2N_7HL%"5*$TU
M]S-@CU(K8+>"_2D5UE1>?#_:\*" NP=KA@O=6-VTIQ-O.BP"Q]8+*C$R(=U_
MHZCT$GGG V>69Y4.S+I0^KL&[AZ<&3!NX=EV<0O/%@:Q*(@E*4B4PSZD+%(2
M1>:MM!21G-H96?=3?]^X;<Z98>+67 !/6P?OHUX+9I63S!%%*>=(*R4=5L$Y
MRK'Q0N<@6/YP0/3.H&^!_ )SU%%YW _"FAQ/?&])/0=.EC],3H]G,@03;2 4
M\Y!J/X)0UQ)8HY"WNI:=<^B<GH9)\W5[*R@'<]@R(H!&'.QE$P).90L!M,+H
M4[NKI"/<[)WELR\?^E) -C.IMLWD16G;&+AMO*8PU'L9A4F%RW@T5 6EE8P^
M:.LBECD)0P-T)O>+Z ,PJ)=-\G,J'#4;'W!GW(SAMM$^N*55H31WR /'DY.>
M66H<UCQ(3RUH.%S64M5[FVN];/:7FQ4F@K)+Q/_?WI<UN9'KZ+[?'S.7^_)R
M([AV.*+;=MCN<V*>&+(J7=:,2NG1XK;GUU]02U6YK"6E7"6[CT^Y+"69)/ !
M!$ 0C"QHP6-4 '(1'/>8!NYP[.W43 <E7AH!P4\GV!NC=;<"_+3V/OMP<Y3]
MAF3;8V,H$Y[&D"\ =PI;XGQ$R"+F8ZRT8=KR7-^-_OEK!)(P&4VS:_3FT[LB
MUT8ICFTCGVZ<7  4>V6"DP* 3)2QFA)GE;6*.M/;E:(]RWEE0!R2\Z8HWI5E
M^CCP?Y?S_WXU>SLOQ\7B?* =;IVL)#$@QZAP8*;HJ+(_CZ74E.(81!W/J)8=
M>>U(:XSDG4,MV[X+6%ZRS7T^U ZW3MJ LZ<P(3PPSB77P3 6&9$T8BUDG?IT
MM3((KAUJC9&\<Z@=S[Q^_EB23@0I%$,>!:XD*&KB(D@,E0QS4BVZU=@N_K.H
M[[6#YWS:=FOI]AS*;=ZHM3Y*9#6.3A/NM#9"2:08Q<PCZV(ETZ[M,.WC^-UJ
MGA%Z06SV>!<)9JXHQN!+"<OSO@'X:9A*2W*"MN&]7:C3LSA7!L?!6&RC=.]
MU/\L1HL>Y7OS^@HB_>.#22)B#$;:!1JXQ=@*H;5BF&@LL>.5 C%MS6BQ*(HW
M7];UX&?WFW%7D=WC#5,@5!KO=0Z%<(&$0A%6!T="T#@86N>@TP"W4"YE]\MK
M()JD:6?2N EQ_P5FY</J8?W1]M:!-Q^GD_M-L8:_UX<!?IQ8W[44+Q5F@9@V
MT6&#&>/(8Q69B8BA&*PTJEIJ<W?"_%B^?LN4Q;E'="[O-.$8L;$$8ZTPQT[
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
M3I%R*2P7T0AA<61B?;'BF@)>&5HGSJU_1]3ZXM/@O?KAQ*@O#$N:$ VR-JK
MO'7*^@#J8\N/R$*=<_88_5;XC0<'.F'SY74XU[&\"O-:')I8^%;,QY-%C@2^
MFBWGD]EB,CXD,VV_,DD:@L2<8Q?@#P>2J9WCX@FHKCK",?1<J+Z6F.'PLYX4
MU!#N?ZV-OF.K11NO292Y '.AF6T:6RR1WB4]^2!\+;0/_CQ(GVCOC8>=Y]5O
MRA[MGS3X-1MO9SV_Q8=R.9H^_SZ?#']=+O^S6#Y=J%XE+[_I=R:L76#4@OD*
M1.94,"/B(XUU/3D98&VB'JVDH?#P\E#/G@E\/#&!'[]:?G\^[HVY]ZF</RMR
M>3 8U,&[DZ,:<ZTM<5P&+V3$86=7!LM\K?2R =VFUO<R,4!>=G:T=;I&37&W
MG_8O2H#M._-:J8-$+2621FI8D$([$DG<K9Q!<5/KV$.M#<J;07*K#!F4*?-A
M],T6L^+39+FIZ'<.7)MY00J**LN)IUQR+@2S/-(=]0+#M8YOU-H.O3DX]\*P
M1BV2GT;[<J%8%V5RHR\3,*WRI^8A7_]ZCN%QX2N2H#+?M8>BX-Y:@Z5\/*X9
MD&-U$F5QK3W4FX%QSRSKN]#?LXJ^56BP7;LFFZLH]]"CY\*!34_GC!L%FWM?
M$M:)B!'#DN1T$6NB%): 5E2&R( JY8JU0]]7,X!5\1Y N!;'/[>S.7%N^TBK
MQ(.P(CCL06RXYLA*A'%D1@7EG;?HAH_;]@R>LBTF=66+'ACQR0/?1]LES0+X
M?C!?;!&/N1"T-1;L;>6Q0,[<,B ;@4 U6%U$[*Z E:7IS:<_RG(;3CM9!&5_
M@V18%(%(8KG&W!EE'9+2,!P"]YK$WJ[:Z ]*Y[+]IVK+#="Y*Q2] \;!NSZ;
MV9TOOA;3\DNFQ-;N.@FI"JT30]Y08@UG0#TGJ=(8$RD<<8$8BNL4+ASZAE4[
M^&J>Z)=OHA93>.A^6U0!!F3N'B:S22X#O)Q\/8R?ZHU38#1$(QTWE'(>@V6<
M$:H5N"D4$5(GUW'H!\::A4]K-!]45.^D_?EGE1L=FWU3LBP2T/&8>L^X9PQD
MB IC,6/@@TM3Y_+UH:O 8;D/_3+VUG9CL-8&](Y ^0X:!^J'1X,T)E%2SR2O
M ^NA6XZ] >FR;9KS.-5[N&_U\#":?__A))P9P_H$//U]Y\>^CI-C"G-M;:!6
M<^*1X<Y&S*PEBAHK>KQ;LF[RU)O5<I$O*0>KY5TYG<9RGK]L,3E[_PN3\Q%+
M:PW8U8Q+$96W0<('$CFKI.U-V;6CW[J"8\,9UXWP[EK.,SR;[.:,9S="L7E7
M0L;+O(,EN?+<$6I15#'?%84(TT+62K [5QZ^K)=4<)3FRRO(1FT(J^V)SD4<
MOA:I:;_ZV_Z*8$$9#?XYT\YY;H74)%"=O1=C)3;]W>7P6U(Z96QG8I)-YU>+
MQ:JX\ZOY8Y&2S:&,9W;U[B#&T33M\SM+3G"LA 7_7$<># -=@F0(0D5@#N)U
MX%X];*<W<)\5]]EH^74!WS;[KD7W/YUSS?<[/U5>Z6(Y./GN!(PTC'"'.":<
M&FR%\"9&@I&W7-@ZR:W5L[1_B\P@N7TM$M:O3Z(C,%E9RCV2/!"B290&V"P#
MDM)I7T."SLX.W_@D8?9;AOKB[[7(S+.CL*W+S$_O2I@1*<&Y,](:[H)5 AD'
M%-7>"^-K'0X:NE]RI4&NNCR\%KG8')O=+)_%&'[]4.:/NA27JD-(QF'A!,4$
M2\4U42KH7#.8@!](3$3=N#N_I:A_UEZ+<#U;7%\4)MDY@6_GDW&1[8!/76ZY
M5!Q,PM@X$C#UQ$5.J=%(^VBLBS$Z'41OY7)_RUB7?+TQ:>M?Q)(E7$F,D+2!
M<Z69#9$*<$U1)-[!A[^W=7K$?#_B>28F!B.3!V]<JE*>JS&Y;&X4*5]G36T
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
M%,< 4_1;M*H:H&Y72 J?/A7YGOCB<?#YTLB<ECL;3Z:3#1^7L<CGX:99:E;
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
MOP3Z+N3#M:VRQGAME?+:!,1E '*AP*FB LL =*N3,'MV*83-*AMFOQ3.SN1
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
MJ>,;ZX4UR08F'O)RJPR$3P%&PN [4)QKI0) P(S;+W5\8QVP)MG*ETP86Q<
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
MH[=+1WGY\[JC'#_Y[__\\J]E/VR:-_SA__KZCV4_;)K7_.'!]Z53</6/=:?
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
M+LZ;1WU5W!RN3+L!2B_].+%;Q4\;'VM\2WSN544_GCAW:>ZN_4>&/<Q=[M%
M")^Z! L(A"<#1)!V/5>3DT]X3EV_/3;>R&1:4@^1U)<E>5N)L@;A>SW%NLK+
M/YV98'I\W=#LE-EP-2G;06JR#@-C[,FTT*6X)WUT_="[.'=,X_MQS4QF(N-P
MV(D'46>MZPS?,#]K[4QSTKM[KWT@0@ RQ"''A&+J*8T%8%A1XB,,T7:TC]=+
MBGN;BZWB<]CLW3@7_6C4=W91V,",-3HM$H+%Z4Y)'B.-/DXP/"J(6\P1%OUG
M7V-0?"T:J/%V#/:7V6[!?GA@1TA3Q'S@:LEHX!'!&!+"E?G>&<X"N6NPYU4<
M:707)5E^DO]9TN[=1Q;V;RH Q,+^X&!/(05"0\-S$5!L@  X0Q022##DD+C;
MA[T;=HTG'CF7=U%DH!\6Z*_ K1^UQ["%%K:K,I!:V!X<; 7W"93 )X&$U!5,
M008!%AY1")E_JIU;ZS"[<P+#UIEK;FWR+MC,++@/#MRNPH!JZF*MF0F_A$!&
MCP=$RD!@(@C?-;B+0I*[7K<3I5E^E#+D/SKZSV$\>+0.^9N* ;?@/SCP"Z*A
M%$IZ@!%**53 1&+095P!UV-^L!7PG_<&49;OY7RB!<IRY!:6+S-(-AJ6=B'2
MDFK77*OQ[4&M&#*N=L X]3Q/<0-WH3SN"D_X+M[RFBMJS)KK8<_XKV$2WA8V
M[?_-'#_.VL,LRZNQ<V]4)6'W,8L+YW=F!(UM[(R.5,C[?(VR8??YNE136/=V
MUO%E7B)DS:,E]3!)/0+SR/W PU(8;#-!%2$JH 'G$I- 8Q^Q[2P8S,PC/C[S
M^"8S_EM^ND]LPKY\]36W=^:+[N1S;BZ[O6R8;\M1U[WAP/DU3/^(!L[7./NC
M*?QY.QOX,L-0L].VUC!84JT-K 9XGNBA6E.!.:>!0 )I%TM").!>OE*S91M(
MCL\&OLF,FX!OD/:Z66'_OJ2]=M3)35Y3)O_M#-S+W+ &[LBT_A&1^J:2_!J,
M%Q_GM]6M!WI)J:N85EY :4"UE,KEPM<"^$K[@KUZD]]*.GEN[^/9NHK8LF5K
M;+FX^D5_+=V:^?:\V?E),=;*65+WGM2]M7+K:D\7<.A[' "JB?FH P%X +S
M5Q1L9]?#:S98VDG?<-(_1[=A=Q3%1?DTV#!N!3Z@9E>86:UO2;4&;CG&%<!0
M$:2%PA0JI*A6'&/I"JH0$5LW<.HX+=Q;S'J^^.;DQP;V4FO<5F"!-6Y'IO&/
MB-3C,&X$8BR@RS40,B_%E@P2+%7@,^5RY?F-*]6TD[[AI/^>C,YRC=)\#U'8
M'9T'.]Z$=!FUAP8><31:J?L]B_+&<:AG3>$*'+.F\,CLPQ&1>ARF$+, 2PTA
MA4!3X (78Q\2XN=5V(");9O"]<LR[:1O..E^=!,6.P]^[^=GH4=)W$OG3* U
M=R]SQ9J[([,!1T3J<9B[@& &N<3 =8U#ZWN*0>I3 6$@/%][V]DE_9H*3#OI
MF^[3BY/(1'PWD0GTYO8=6#/W,C>LF3LRW7]$I!Z'F0.8(H\CP# B5"#7)1[T
MJ>=Q$E I(=JRF:-':>;>9-(OBMO?SY+1#5NFP1JXE_E@#=R1:?TC(O4X#)SV
M$72I%"J *+]I3,! 806,'\L\K+9TZO3,P+&C-'!O,NGZX2Z^CNT!8JM,/Q+6
MKEE2#Y/41DGRH?%T9SI,YL5U D!(%:*^PB[D!".CO#@1GA3;.;+KTLQ>.+#9
MO]48@,J/H5SW&O/:[VT]F5P9.X^83O5-LHL#.%D^XMG[Y'K#&W5'S[#<V?@N
MW15N;WMVE^X6R2J9]%==XKO%NTV=LX_."O=]ONU SZ[TKPZ<'^CEE3+?Z?.K
MRQ+9GERO_/*56D]$XNUAN;L1E$RR=_'SN?ZGXUU\_7+Q=7,1V.+XSB\O/I_Y
MAO'^'/^=B\"Y^*)'(UZ4AETR]=U9X@SN>L,L3#I9RXD>VE%_D)_)[F3YJ>Y.
M>-\;)H/LA]4'.?>*.F[-GGO5$PM]N#=@PWQ/_O(KL,F2>Z[ADJ9E;;4W'?O+
M&GK+N%@/E.+%*&8JN/RD?CHKJ5I0@!MX/24:^VIV447FZ/Q*BH:$;CL.30^*
MJ>?3VT:J>7I,>8<I<_$+S!V;L3$EL/_@%+<_.),@=,N::TOB,+U,9KQ-9WS1
MS)$#_0AD88'U"Y<)6=8?*.NM&K"RL(D:L$[\3OV]#>@J0?:[81(.._$@ZOQP
MY&@^?&Z^#-![,^7=Z,?KL/W';=H;)IW3\4I*NQU%-S<[1NZ&>;JOT;<H&4;K
MB/.8[DW(JYRKK5)9PON_;$#PBXS>1+:KEN]>2^!/(_+BAWP!+TC#=G&!4+X6
MT($2<"X B1@FI]__.,V/;CGU!2><N3X6&%'"J%" ,DHY#+3,KW8^<9+PWHQE
MF)W>AF'_XUAN@K1W7QQ7;7[C'_'@SAMFAN0HU0_M[C"?!)5ED?G_SE7X<&+4
M1Y*3_C5?2@S\W"GZ#?]VY9\XPR0>?3O,.B=.)VK']V$W^]O):>XU&$9$A?\P
MJE']VTG\,/B8#.\[O<&XY\DG*'#+#/RG#T\)GBTKK*VMMRZJE0JX;,7L52,^
M ,-S()KHT!3/BGJ&XJF>4<"5"@LF/!)0QK""!''C(ON08:X1V(Z>$77I&811
M"R%H]8S5,TW6,];CJ=!$'$TUD5$_0G'S/>& 0BZEY Q)&! B&//\[7D\_ZI%
M$U%*6X(RJXFL)FJR)CHTQ;.BGI$S/0,%\*%@'@18T_P*;Q][G$E.D42 $+XU
MCZ<>/<,@;@&*#EK/K)SKV8N4CM?+!OE!=.FRU,XTDX>J,GD3*&XA+]](WX #
M/HM2?*)4H)7O!9@*';@2,!D0@3%!GB+!<\SF4WYQ\W.OU\E4TKF,TF]Q.\HN
MS<NWF?0@O,5PK<A\@=>-=00.P-X?,"!7Q!]BLVPD\0$74'"F./4E$E &7+LP
MD*Y' XI?A;_:D@%4M 0#%G\6?\W&WZ8&D="90=38]U2 /1P$5".A7.D2#F$
M",- +Z3MUC6(]?BJD)"6$-@BTB*RV8A<$8!L!D @E0%*H(GT/2J)[TKJ,>D3
M3[@T0,![K46L"8 4MU!^.LKA _!(Z@-^3GM9YMR'Z6V<O!:F=4Y$,RVFF &6
M,U]+7WLD4(@B8S*AAAZ%6@"(78\MI)>+B?Z2]F[BP587RC%M,5FKB6Q<.N>8
MT\9O@\:QEBXVPZVNHG=H2LW_ILCT"-1,(R8%%11*X\LB('WL:BU<YN,UD5E;
M- DY;F&VDZ7ES=AE86MA^]865J"Y4A)"I6^P"P@B5#'759IQJ9 TL:GFGE[;
MPM;C Q,(6I+OQ,):'%L<[X?Y)3/8:H$H!Q0;Z^M3UT/"18&)94UD"[GK0;JV
M^:T)ME2VQ&XJ2)L)V\-:!/T:95&8MN]:1A:^1=U>_SY*!JWBGJXH,;%L9"8G
MN76BAWZ49','.VV&YH.)8 6; 36 6##M,^BS@&J7"%<!7[@$"L)(X*O%PH71
ME*NDX\_F7(]F>)LQ+1(M".M$;F--YS%9R.9A:D4("31GZR0%6C/CMF**=. &
M1$HW" *"H.MQ^5H(U5?7+%L<U+F4:2%D(52?69( SLP2\F2@C,(7-* $ ,6T
MIKX04A)(?89J,$OU>)2"M0BNLT#78LIB:F.S)-$,0M+G@!.*6( YQ0Q*RGW)
M/8HQ$HJ!5WMVM05E@K<8(X< H2-9+KR,NEWSPI9S&R51&G9'$5?8N8^3.!OD
M1\I^B^H*NEY:&C[\]49C\6:K&GGJTV,:2P0H](52-/ PE%H%TF/4?X[I,:=^
M'O')(%L]8=(.PC9&6D34NH%E4X%HK&&UJ=+#POF*L&9@"FN,A12:"XR]_/8A
M(H, 0I>*0&KLN@C6!NO:0DE&6P+NL@3(PMK">C_--Y=3G#,/8]]ET(<44QH@
MB0.L-&<L0%HC6*OYKJG63\H6);O<?F*!;H&^%_9;SN&:2>I!8DRZYU/J 2D#
MX-(\)8P9<]G"3I;7V.^Z<,U:B!VW7WY8:Z$7_2B7GN36B9-V[_ZU.T*;!\L-
M[2\TUG *5$$48 !YF$!&/44%!DCGYU^9V-E'>F&;]G12SXHY_=S+LJWN]<0M
M(.LTMHVUF<=D&@^RV <"+&8KH!QXW/6EXAQ0X^"ZRG.%\@+!&?9,RV:PJBU8
MY;PE2)T)YF;6]EC,[2WF-K9M=':< 8=2BT K23BDG!+A8Q-O4J(T=5V#R8UM
M6TT>)R(M*6LMO;,HM"A\"\O'^5SY'/(9H$QQ+2E R.6(N5QIGR&E7;BPS61E
MRU<3Z#AMB2, W9$LO :]U-B(Q&D/TS1*VH_.;1@GSKNND:**L\J/:M_FNY>
M*V? I1(#X[*B(/!< U_D M?C*E "(6-(P4(J=CSUWGCFK](PR49O^=GP(,>Q
M&QD@1G4<@9R9%YGOEB.[A>K!]:K\GPGY:P1@2^=>;G)2OTW;[A?L5T4YA'PN
M,>M2J#T.!!84!=*%!)I.C+HPX$0ME.:^#N7K!:RKH!QS>9P8MY ^!DAO;,DA
MGF'<!P%@.!"(NHB*P$ =L #Y2KI4:H[JM^1KN.:K67(":ME(NG\HMY;\*&&_
M,LKI+,7L!\K5KF^":@&I"J"4F"I%W0!J+N#BV62OMN0UH]RX(,>)\7)('];:
MZUGR+<H&>;F\77Q]!N&YZB=*&60&OE(R0$E A3;_KRD-?.XR3!?VA,]F=90L
M.^\EO4GZ;)NKL+0%X4%L1["IZ"9#:E4$R9D1-!:/"\$HAHH;[!"!I6O,HB(<
M:6Z,X2L15-N"*VY)7&=QL$6015"-1@G-98@(P4H%@"JL&?6A+ZCVM72%1)RX
M1"QL-%W?*-5UZ&8+U5J':S%E,;6Y54)S"1@:4$F@,4Q>@"B!2GB>I[BG!<VS
MK8N%!^M;I9H@!%K\,+9J'\ERY\7 S,LXHG+>C3>4OGJA\W *U3>V?W-Y%25]
M'T'/=P,)*>=($@&%)X7G(@D%)@L%##E/YA$[PO .=I*2>N]!V[MR=9L%/2YT
MKYHE17/E2*X;(./#0E<)27UA7%NMD=24^%P2CA<.D%\;S?4O<4)4ZQ+G:_G?
M],2IU0+'I04VMO%SM4[$(X1*%Y'\."7?#Y1V/1\0HB7F7HF#OHF-K\E%;R%<
MBSJP5M[B>R_PO:J5QW,Y*X->#0.?:BD))4 K8]FQ+YF'%11$+BRD;&+E:U[^
ME+6N?AZZD3^TU=$B@+\NUMLGX?P@?)@<$75P.;1-;3:>VU+'-%?8"+/G H_Z
MG+D !\)@TT6:<" 63F^;[2>8W"D<)T-#]7C#02\9USN,^EV%#U'V:YSTC(Y^
M/#/H3Z-LH)+.TU_1?PY-\Z_1X*[7F27MMKL#EK<PLTM'!V:O#W,?$)[;?*>)
MD-S'3&@(**5(&JN, 0\H\AF'<"'P?ENXUK;0*XS#7N\M&(W<7F2QO+=8WM@6
M\]E%Q=B5 <%<N)XK*0RT9$ )39"@P%?&Z6X6N&N\:!6T@$6W17=ST;TJF.4,
MS#S/AU.7,RPIE=Q3GO81"P3SC:EV9</ 7-_BMZ!UWWS32# ?R=+X6=U1] &E
MU#8U^03.:0GL,AU H'UHM 7B$IG_PTQ[F+FFJ<*?-^@?)]7<*(FV?,DK;3%A
M#V:TN?+C ?:J.,:S"YHAX4IAWX648:I=*2&CU*"9^T@ $2R<K+PZCNN+H6LM
ME;8HMBAN-HHW-L]T=KNSJP 1S'5]ES'J820!"I""F.9I-^*6E)RN89YK<KA9
MB^(M^-L6V1;9#47VJD#F,R SKCS?(T!Z'J84* %]'PJ?N$AXT@\6#NA8RS[7
M!&38DORX2T\/:SWZ/%J^37<-N&+#O$YO>-V-IMS;709M2R<P_&6;L]+,-.+&
M+LG<&? <8>2Y1&&-$!6^4BYG5 900<"U0@LNB9'"'1TJ#5M,;,\1*6%V,S.#
M1Y#F/R;-=92*:D6]1*&8.Q98$61B)($IRF^ =*D7!,SW?!KP  8+1]Z_I)?J
MRWN FF].M7K)ZJ6WUTO6HWJ-1T7G]A4C(0 F,I!$$Q,::JD%"'P-?%]([=.U
M-5>-1YGC%L6U5#1;U6555V-4UU%JJE45$YT_,X3XBKHZT))3YK$\UM,:N0@S
M("5>N.YK!9>JKN/><4N0[6V@VAO%]'+"J@DIZ+N1?43 ]-Q5.AI7I:./;$+L
M)%BIL%)AI<)*A96*#29DWL&8SDQ^W<_.E\=J7 YS^E'JC(+VJ',:&AK"V\B0
M=W]O_.$PZ8S_>1K].8R_&7<T&3C979A&'Y].4)V#VU69KVCH6J4;9G%[@Z!L
MH\!SV^O.6\V7O<3GO:MWX@1/(TY)I!*08:05IU@'0OB>8I1HC@25[@;;"[]$
MJ1]WAP;HESF$5UR -$^-N\^B4S0-3L'2X!2\1[7>P=FX*HE&>PIOF2;;'V5T
M:+IG557#T*QBVM<>!1#2 $$*.!'4=9% %'.!)8-B&ZJF;$WQ=:J&U%I3;56-
M5376[]F5WR/@S._QN0ZDBR%B/O54H(( N90;]23RO1P+M[[4Y/<L9.-?IXQX
MK=NTK#*RRLCZ/;7X/0+,5 UP T[\0*$ *,H $% ;QX=C+S]%%8 -]H6OY/?4
MJFK@>P /6M5L6(C>U.S.6#QLY8$MFGJ-QR303(WE1S^# &,F&*?8\\Q?2I)
M8:@H)(L;7G68)F8&LHG:&8OD'N:#]K-2P990'90B.TJ]M:J:(F"JI@1W.6(
M,P](R@*H&/<44)P)J21?O'9I=36UA5R2W3QCU=1AJ2GK;[W*WZ*S;7\("L$#
MCET> *H5SY47Y=)G0!9G![W*WZH[#U5K<&@5F55D;Z[(CE)OK:JFYNY>YDQC
MQ#WJ(M^G-#_GT).>="6B% !$%[);:_E;-:NI>NX*V&\UM5<%[,)6'^YZ/NP<
M6)FP,F%EPLJ$E8D]+5RO/1+XQ_J5ZYG3&PZR@>EA1OKQ-0N.AUMGON%)=F6N
M]OX<9;=A:@B!N:N5!5!< ZZ"0'(J7"D"015T%<+<)1H%SV.NB?RJD?B>#^^O
MH_3BIHBDLHN9G!:\6F6!;B3B&^XD!BU.=KL^U[AJ@T;;SUT9S6-"_:H@G[MQ
MF2 %%9$0<\0I4[XK%<-0(HT IBY8. O@M2!?6-YZ%<A1"XK='A=@06Y!OJ>F
M?>X2&2A48+[$R"4N9<076D'D8@!<%Q(?;,.T_ZL^U,,6H%NXULFBWJ*^L:A?
M$>1P[@X80D&@-.$0NAY%@7#-)\X5X!I["B]>^U:#::\1Y*C%X)&#_)BJA>L#
M=?.PNZG%AG.'"1(?>@AKU\4^I#[Q%=1 HB# 2GL0>PL'S5> >;Z@?Q[36P_'
M28OL]F"OQIIF:X$;#=95L4GG#*U$GH;&H@8RW^6G70@8]A%7T$4>=5>-H=?
M9KU1-&^AW=:(6FQ:;.[4D/+9C6JN!P*.D3(PU911XOH>\"23 FDH76_A?(!:
M#&F-?C%M0;;3O+8%JP7K-@VIG&&3:T]2WY>NHH*:*-7U$97 (T!K#RN^L*NB
M%D-:(S9%"Z"=UB@W.#1M0B)J7), ;9'&[B?$3H*5"BL55BJL5%BI>&6=W_Z7
M]GEA=N>8%\1F"CM9<4[MN+BO\#>;L@_J6/9L-C-+@0&:NSM(>CZ7T@?2I3H_
MN1![% >44HQ\P186Z+U"FBX'O?8?_D3,)KN8<N'[$L:O.1/C[#Q8>?L3H. H
M0J C2$\<F 8Z5(6SJGZ9.V:' \B94!)S#2GW/*7-%S)@T".<$:\N_;+J819K
MZ1>[5F'U2R/UB_5P7M) <R?HN% A+K@&0OOY"3I2(Q$0S%Q)H<_IPJ+IYA[.
M2MN[U]% T'HX5@,U4@,=JL)95;^PF7[Q DTXX!(J36@ \A,$A7%UC'.#!$9D
M89UW<P^G?OV"C\/#*7(\'P:A&<ST^\ZS&WBZ<1*=3I)."/SUQ[GQM2/#C'3^
M?6A-V4)5X[,CL".P([ CL".P([ C>-,1E+GO&P]A,^?SZBYRPG:[=V\>>S2.
MKY/T!E'F&!?/,;\3FY?<IF'7Z8?IP.G=.(.[*,M/;TB*P[C"0=1Q;N(D3-KF
MQ\U;S1?W9F#9^P6:)K/]G,9%DDZ6S\&, KD>P:/N^)FS5OQYETY^H!_>1J?7
M:13^<1K>F-%\#+O?P\?,O.;#73HF)"Q\\PPA31'S@:LEHX%'!&-("%=Z5"+.
M ID_$SZ9@2V25>:'OC3UVQ>ODF2*=_'SN?ZGXUU\_7+Q55V=79R_H?B7CN_\
M\N+SF:^NM.]<7IF_?M7G5Y?.16#&_.N7K_H7?7YY]G?MG)V;S_I-L?ON+#&
M[ VST 1T/ZP^E)WKK45*YWH_R33DE\,6,Q4G)DP=?9[_N20/+KM/HG8(1C%Z
M$6PY[:C;';<6T6C^V0RS/?E<0N15?&\TWGGTW?G:NP\7\C+?X\[@SOS3T#&.
M-]N];C?L9]''R3]^?!Y9GI0>Y%.]_C]Z!Z%__7'2Z7D;7-*TK*WVIF-_V<KE
MH7M1O;%2U0Y_H6JGUESA@G+<P!Z6Z/6KNS2*3N]-PUWF:*-<UKK:Y7"RP@?%
MU//<,KS TS?%ZULQ]\4ZNR>)T\7#=;>LN[8D#I=1W\0?UU$ZFB,D6TZ^3';D
M0#\"65A@/08%ZX5E_:&SWJH!*PN;J 'KQN_8XQ/K$2;*L?UNF(3#3CR(.C\<
M.9X/GYO-W(A9.W;/HX$3%S?6[DBB]_-2]55YO3^5@P)0 ".&9ULC.,+(<XG"
M&B$J?*5<SJ@,H(* :X7<YX4]1G1F=QVON =BH_W?!+:8J+5RIW$GDC5*R32B
M5'#O5,RA:905%0B=V_L %4'4PP)31+DO7>H% ?,]GP8\@ %?5X&4;7+82($(
MT"*8605B%4B3%8CU42I4# =SVS<%P$0&DFA"@=)2"Q#X&OB^D-JG:ZN8LET,
MFYU1@W"+XEHOJ+,ZQNH8ZZ34XJ3(F08AA/B*NCK0DE/FL3S,T1JY^1X'*?'"
M]J@5G)2:- C'+5'O4:Z-TR"'E?>\&-R-SIOHI]%=E&3QMVB<2W'>=8VT_-!R
MDFA4N!@^E%TBM4Z&W.K0QM-G>7DX]%E>'@Y]1\/+9JY95)QTA?+*V:9P_E@F
MQ$Z"E0HK%58JK%18J=BF@[$7\;OZ%L;=?-_.Z4TO/<W";AZ^?XNR0;&+T ;L
M!T^?Y>7AT&=Y>3CT'0TOZP[804,M;5YE.$S2R/SF_T0=YS:,DY(4>?[7N[_0
M'YPPZ3A_0<18XWS+O_G?=/=<?L)SW.MD19>G3_Z% E1\_>XO OTP>3:9;M*:
M/-IRTBCK1^U!_"WJ/FYZ?<PVO+Y&KK[+^0(?K0.743?  :%, "']P/>4II[
M@/OT^=I9L4#BS:^/C);2?I^*PB]F(&86?C8"D:^O722747MH,!1'F2$B,TV^
M^9C<?BEX9\3HXN8J?-AFL2%BMM+P4!?Q#Q'6*Z)XKH9&(8ZP"C 0+J*(N@I(
MSWP#W0!X4 GRABBNK>*/(F11;%&\-RC>U#@+.86U "CP/ T%) 'U2* XIU((
MJ2 5%+"%<SEW:YSKJ9$A+8&X!;8%]MX >X+C=\N!# &8(9DR2AD*-"0,4^4I
MI8* 2.HICR"E^,(= KLUT&L@.3/3:+Y;7O8F:CWS^R7)F(GZ:T2CGJCX5=L.
M]R/P_QJUNV&6Q3>&@$+L3:">A^W35,"[/!?P@Y/G O+S_GJ.D<LT2DQ@;\+U
MXI'LM<IB"UO+W\@9>%&)X)F7SX!4))" &=Q2$$@E D(4XYAZVF-T92\_UQ?/
MN:@Z_ST<K9($:>]>77AG02^]-*B_N)DIEIT$ZW)[-S972TIS=$B)I!S[SO27
MU$'SX+XRNNE<%3OTH(EQ::#,WUHPERDJM. ,N1XSG]\2W;4%\8C5N6>O>>BU
M8+6V>X;NN0R="09\S;GOZT";X%VX 0.!!P-/<>69_F]LN^N)Y3FL=4>NM=U6
M'31/':R,?CE;93-6G&*BD?'</0I=X[0+1(D0$$)"F+NPQW7'MKT>]-,M7L6S
M#^A_9?2__X<.M>_"Y#9RTJA;G.-O(O]P:3E>DU*&8W$KSO]>D+6&^A<0SEV"
MC*#V7.5K9#1,0* ;:!)@#VDMI=;>RKF!:0&E85C.K[FLXE3/3)3)EUY:**#!
M((VOA\5QZ5>]+V&>ZWEUAF"5/"/:R<[:C13-9N+4(!_$+DH<D(99;>41PKF3
MPXC'*=6""RU<BCPHE >T[W&% &8X4&^O3^K+2="=G".T$Y5@%R>M'JB]) '"
MN8)!S ,EA:>(]AEU 7==WT.00^5Q&2" WEXQU%B:8%PLJQJL:CBNN@4#YBG:
M RU@H+'TW<"G(("N#ZB0%"A&@<^Q]_9HK[]\@<.=E L?7 )C%[!OXC;1 Z/[
MF&BU/#Y\6BV/#Y_6H^3QD:PL!+W43&@RKB)L/SJ#-$RR[JCV,)QZCZ_>W'_(
MX<S1$FZY;[EON7^<A%ON']C.@U4]@8,K)]ZX0@!3/DOE$2PE8)1SSZ,!\P2E
MV*,(<%]#5Y&%NX"6U2"-.>&-&7&5\V$T I5TKF9<64SN[:0P +: K+,VH'FI
M.EMI> "P7AG%?(9BRB530'B*NI!B!5T= .;Y#+A8 Z76JB2L%<7K+<>OAF(A
MZEQ^:QZ*+6CW#[2;VV(Y0S'62/OF>P0 I]3%+B.:2:BEELPS:'Y+6USW9N 6
M)77NZ&L>BJTM/@!8KXIB L5L/ZY+?< E$8Q!JB&3F&+A8L:%)PW"P5O:XII1
M3%N UWD35O-0;*OW%ZKW;W83;[^TT^/@J^]>U#E8VBA^^SN*[ Z X\B*6MWT
M"O>'2IN*L*IHNPD.JWF.2/-L[A5Q:?,I5A59K\CJIK?VBB@ -BED5=$![K.
M1UJ[NP.ZCXE6R^/#I]7R^/!I/4H>'\D:4.&(&@[/>:).7+BB)?<Z[5, T=#\
M!0-X&C2X BG&* 7(!91!I;"O /<1PT *!OUU@H:FG,X$6Q#M;W1@<Q$V%]'4
M&A2&9II#4:1<H3%G@4^A2Q74P@T"KJ6&E*JUT@V[.(=I-<W!T"Z/DMPCS6$5
MA544FY_CQ,A,<5  "(8 ^QI*ZA$J?>81J0@%7B"96/E&FE>Y'/6<TX1:E-5Z
MA=2FDE(7].U1358!U.,IL#E/P7-=)9F/?-^EGG$:#.9S\PT#P*#T\$X\A=I7
M(+C$34#^OG@*;[K(4#N%5[U!V"U-6;R:]]CPOM,;&H%^U5'TC5KO_LLV9Z69
M*[@;>TISMW JCK0KN <\@:DOE3#*DKN*:N1!1?&"XBS1F;NX.(N %J7;<X-*
M6+^?QU8>@,NS>SVV947^5III-U[:"[J&@]F6(I<(+]">$KZ)Q#3CK@G+-!6!
MSP-/^6BAIG8]75/;D=E<M$2]1^.^Q$RK3@Y)G5BW:#_=(HYF>Y@A)8'0+@=<
M*QH8#TDKE_F2,8FDRX*%G4AKNT7U)(<@8BT(MI=.MGZ1561O4T1XA'IK535%
MYHX]DB[P,5=$,T@]9)14@'VF\LN335SG+2R0K>U1U:2FF&B!>B\BV4\U562H
M/A2IQ.GWQ9]SP^G&270Z+O^!"/SUB=1"9F1T;L#MR/ LK4'R%@=LAV2'9(=D
MAV2'=&A#LB.P(]C2"*[N(B=LYXM68?)HQ-Y)>H,H<\+4?&T\6?.2VS3L.OTP
M'17;WD59E#N>A7]6',UR$R=ATC8_;MYJOBC.8'F_0-.$U.<T+I)TLGP.9A3(
M]0@>=2?/G+SBS[MT\@/]\#8ZO4ZC\(_3\,:,YF/8_1X^9N8U'^[2,2%AX>!G
M%%(@--1Y>0K%QOD&G"$*"208<DC<_)GPR0QLD:PR__6EJ=^^>)4D=KR+G\_U
M/QWOXNN7BZ_JZNSB_ W%OW1\YY<7G\]\=:5]QU6?U;FGG<M?M+ZZ?%.<OCM+
M#/AZPRQ,.MD/JP]E[H?0FB]&)1F.N5<]25" B9V,DXZAN/@\/Y8DCS6[3VTK
M&"5HBN#*:4?=[KCU;R<F#,X_FU>V)Y]+!GP5WQM-=1Y]=[[V[L.%=,[WN#.X
M,_\TDS".+=N];C?L9]''R3]^?!Y)GDS+$:9U/.*DNEAA] J&__KCI-/S-KBD
MB6WVV#9?UJA=GUM.SZU^(/N*=[]OJ3AE08-L8"!*%-UEU#?&^CI*1W.$9,O)
M$]W'F:H])EDX^>1'[3G.8UAP7NQ/?=9&1#=V(^'VH?YNF(3#3FR<]6,_"?:-
M^;M5.7X9K(:(INP*K4>PU>7E@E]N[UNQ9?B6^ZNJ@\:CWD3DQ7E# R?,LNCU
M]^KM.UNMM3X<6FNUV**9X VS.R=,#%/S?T1_#N-O8;?ZE.[:V?WJS7'U."H;
M%<>\Q/<Z*HGK(>^%,AA$(8PHH=,J&$ !Y01C#:6@B@JI&/4\)"!BBL( +E3!
M&.%122?_2\]$2 V\,$WS18N_A]UA]*P>YFQ4ME=+S1YL<5!K?;'=LMD4'7PH
M2N>P=,R**H61V9F[@!#/=2G2/C-M0$DO8!1)333T&")UJ13Q&ZE#I0#10A =
MM$K9) !IJ!,SCD#BY%NT!Y=Z[M"FSQUZK5TLH(2N"KA'%012N@QQ C5%T L\
M^1R ZEL8=_.EOZ"77AK(7$;MH9&O.,K\Z'HP^S2>_*U9=R11"_ ZH=A8(WX
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
MQQ245A,)K;;?*9!4X\%>=1(L08_05GOP;[WSG=56CMG+<!JH=F(@MBEFL:8
MQ"(D&!!.*N0HUUA@[065C'*+B8!K_9ZWP*RV=#8D9(^Q5G-R#@^S*H7M+[,\
MC/+N\^K?E>&,AN/B[:("%2+PY]]6QM<OPNY,5Y^'?HS.EM>OCV_K$3RS1FLC
M>'*%3FX$E]=%; TZN0D_^Q: )AM/9E'!G<:#YK-A>,BG:96S.*T#5==%640&
MK:R/*KAU-1SGX_XP.J1FX8.;,+#RE[4Y+:?Z<([K4WKU_37X27BC#SBB^O=Z
MNKS!;?ZI>/MQ6N3_?)M?A='\FH^^Y-_*\)B_7$\7$\DK-"P%#]:H!)9X":D6
M04UC$&!AB$(HO%3Q-_F]%=CAM!YC]N>6_H?(JQV%V)S_]9W[K\R<?WA__D%=
MGIV_:X?XVQK=NXOSW\^LNG0VN[@,?_[NWEU>9.<^,^KB;YG__?S_7+P,M]83
M?'TV#APXF9?!_BSO7-PK8[BG5<7. =48AN.@#M;O5P<YCJ)R=$_C@*#6+RKI
MD/6+T6CQ[;^_ J^J]^&1_>7[1\9].;P)Z/&N^))]F-SD:SKH33[]-!S7P\OG
ML\GR@UJEK3[Y,AS,KL/580$7PC7(S5%^6Q:_+E_\]E!:OKKS0-SYUL2KI_T3
M]2,8_O-OK];$_.+QW_F*;?>S73YLR[*S73M;MA1)&_E.^3Y3DW:$-^\B,]Z$
MSZ_+S 4>';1747B0%N7FC5EVX!C_ 3+?$3E<%+=!??I83.LU0K)7U3J>>)#D
M!&AA;>LQJ+9>= T/3A'JMYK9(]S]>C[.YX-AL)BVSTWH2'?O+3?;Y.5U%B&D
MS*ZFDYN54WNC&^9SY1'ZV59-I^MP/>*)I]WO9&'/EC#PKI@M#J'9DV:ST_FT
M%/5LT^W?UCR>B000S%!!<5.<BX0 F$@OB2,4*">= -XZ8*V0SM*U8L! "$W:
MY .OOZTCE?]]:=MP_"/<H[C-]*G.!AP/'>@.CO\/E-TWY&[:)$@20JRBL21*
M<LH,4TISYY!&F $I\5J?M^>X6[3&W1SW!#F*DY /JRQJ2\)3@_^9E[,J3)3-
M)MFT"*31'XZ*JA9J>3K=I'K7CQ;#[73R>3@H!MG';\ED2"9#,AEV9C+L/OUR
M2\BHDD3>?LS+8E!541;C,J_$5?$UOG["D.A&&?,^M7$&29.68[P@((AIRQSU
M!@<938Q!RIB@ES.X=K1LM<;GM_&N[T?YV-4KNTNU'.,>.8[^52>@E1\P,VW(
M.Q@W30$8"C8C%LP!397RR@HAE$,,:.:)7SNG9&/>:4WIQ;"'<=)Y]UX_L"4!
MVN(VZ+G#6FA-KJ).&S39V;=>=AOH9=:K"@IB"<%MU(L/LN'47N4<;7@5601Y
M$'2&,$.QXY+$X[>4@!H)BOW:@<VK6[%3IQ/M"0".NMU4,C".BQLW9#[>U*M
MJZC4E#KI$16$:*R(\($=*0-<XK4^&\\P7WL^H:!:\E;;9W2.^8[)OE,WDS#R
M?]V)Q^%XEH\_#6,.8EZ6Q:S3W=_V*OADPWLNGKR!G>3( !K/<J:"(6F0ILAA
M3\Q:_XJ513Z_.KM;8E6M\"Y%(>I!>!2Z:K+SNLQ3F[$0ARNE2X)"*Y DDBJ*
MM)5&6H\X-DAB1O1Z"Y@?9:'6!!KJ8=!FW5+'Q=:!FWL/Y=E@6/;#9&9E-ID&
MVZ^X&<YOPNM87_.Y6,1"3D?-?%+V/=V]J>9<W' N">QI'/%2J*!K"J.-408C
M:HB6U)*UUA"JWY\6\9[W6=@N-T:-!^\7^W+6[,DNA2)MMW?$B[1F:FO[4P.W
MX^?Z#:4S;7A<,4%=D,;!N 0TB&EA@,>.(&X@H)ZM%1:WQN,_)K4W:=4&T5Z8
MO>-2_3"$]X<BW.U?Q2![_2D?CM]4C5JCK"[#AM?&:5LRNWM,NK5HYBNB61!O
M#8)0>Q6/RE$.6.@A-RC8JV8]\/C7L,HQ1^A\?!%6.*K5>Y&_'+(66?)HQ>PI
M2=/N\>.F["<;]H.,6L@)@D(%JQ9AS8F4BEL!'#!(K.7I_1C[M6;04DR/FOU^
MI@7I@5N_'XIX0N2=\1MI*#P_$%35-V(XJ%+X)N/347VWE:H"-F%.[R6QVGD/
ME*?4:,6H]U 3[()8)6PMS*GGY7!<E*69W'P<CJL%-W<;85;W04VG>?BTXGAS
M'5^>10TZ:,SG5T_\9-G"YQO\:0F]D?;<(^WV.4[&<C*6.XT8FP+$2LX248XR
M19U 6%'JN32(*A/,9@ <5^MR_^4 HGWSFNXESZ)[Z'! ?<ZWK1FNZ"T>^SQ8
MG%=^5R*0?RV2 7Z'!+3)_*UZES,*F?668L@UQ%H!( $ 6 BRYC<[&_>G15X6
MMJC_GHWM8JWK I[+N-([397J"7#<UD RQH^ -S?S8 O><*(VW!/M.#7(41FT
M=DNU]YHC!:6Q;.WP]6TY<0<.:]XF0W;<+WW@]G8C(U?*XZJ,A"JM>*5O>2J5
M2Z5R:??;4)A99ZMK^XM,DVG1+X:?8Q_'HQ/$6R9/2DP;:YD:R;U3FF%+B6/"
MQ(02(IEDR%.[5N&S+IF7"_WA;IWWXPN#/2R.(A,L*;M=YK$-[4ZY8G=B:IR%
MRGD&*(44"J,A!1A!#YS6=LT#M25/M5<D('H0'W<0>/=1J,X*PC_&0>L=%8,@
M"#\7X_G/2L$#<AYOZT.2O)&/#C!.K<,&>D\)- I#2JAW!G/A/*7/\_)R_1M>
MWG&-@=Q/M5WWF#S%B%*,Z#M<+1NNUCXPKS!6Q8(A3;06!&@NJ.+$>"-:X^K6
M1#3KT58[1!P05[<6V^FLA(Z91N/99#H\I3C.]YD5 LA6.ZX992A$%@DJ7-"A
ME1/6(0VA >'RY[EU987W8YR*'DB5?L<F$[O'71N*/@A6/#[.8T: 80@)3!4Q
MDAGG!%?">R00WD#V?9^;VBOUXSTFVV2BXY)M!VZ6OI\6M_EPL.Q<5H=H)K/
MOUE_/IW&+,E62MX/2)'=6E;21E8*Y8P'R"F&&34TMC[#V$(MJI)>L98>N<[=
MBXU9!EP7/9S4>' >-Z>E(OF-DIEZ K5Z1&'GJH62)7I<#+RQ.%YQ,"&*I47&
M 8<@92HPK'9  :Q\^-=N8HINR;#MM6#K$;P7/CTN^7T88OHNC'J;?SNM&.JS
M3"P;J6N AEP@12&7E"JC@^SEA@-)M ;0KI7Z/1WQ>5\O\UX$+.YAV>9A -WC
MSY1N> 0<NBE#PA67D<98>T*9D)!2Z93$&BDFC=.:*D[7^K%MPY [2#;L0=&F
ME[=[#'G"!F_LRC O&H/W=-3BK44LQ+Q)YO>$\* 2(PR"GNR()%00SAF-9V\
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
M;N-?.O_RF,L^6L?YW>[]5CR_5:[F<WM^P/"VTO]<> . T\Y+QBA64BFE#4'
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
M@WNA,G0*NMLX]N4X)G643BAY]"CY'$C*!B0)%L!ZXP"6FG+JE;<$.@2]!CZ
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
MF]CS<HDPY2+WDTO !QC=MUE6T,UR(^%F$V#]PN>V&,D2QOI1/(U@4(L1@"(
MPCN.H" ,&-\5H'I!=5_ZD]_SGUJ+4$ +PV0RG0,! MM':BK) -:K/SF?9U>Q
MRN+L-AG!U:-9P8>/L];P9K9DQ?DEK.8YR ]88=B.Y?R?.= )K,Z./UT\^QJP
M;3K,$Z!R((8=[_4YNYX72E&I0Q/=2Z)"M^/="L)O9B04%2-1.]ZMO60)O#[8
MPN>RI<0$[/ZRD#WG_6$<+WQS#<(DWKRX.E]*J_5'97\"&,:+ >I 4 (+P!WS
M N7ORU?@F'DQH,A.-9DY*A6A!79L)_HH ,[_![@+W]Q<79<2Z"8OX:QDOH7H
MRR(D#\8WPZP^RX(A\[S4U0J4BY(3IA(G$@<S'OV>C4>7T^DP3KP_N!QE?\1I
M#4#Q!GD$EX-R 8L(VP4/ BUPB<75 N<5$&RU5=^S.-?^> !R+BYIN8[#45Z@
M<C(KYE+\'+9GLI" Q5B+%8&'S4;Y[]5P%[)LN9[1BBF,F6&2P04+JHB/*"&@
MO-\ 4.U;L69U4BFQKUS=LT\+$0H8GB4_1 J8Y-F/9\E"GXWV7FS37,SA\QS^
M*5<9QO7I>C'ONWB_INFO6X9I:1G^XR*]%_59&FFUC)R%O3;\-%E9:[8/"U;O
MMUS8B/#U%* 9UC^.YP(>9\?3P>]GA5D<WW[.QJ4*<!Z(#,)8:<'ZY5PBY7$P
MW'AI'=?PW7D5N$JQ(L)HZC%'G)G4(L>Q48@JA#1B]@RH<M"_CL;9["8[:P>B
M?)V.Q]/OA5PJV!$8"E@1+LI+]30:'9%EHLXR7T.@E<*:K$AK'6)*$EYP[!(&
MEO>)LFM-"+5*!OU0  GH9\ _^8_O&A$$]SJ*+W>M=K\U!Q):_GXTB>9@\;[^
MP$E4-<=KC\2H]"B5>SG(QN/%M_]RALZ*]S"1P?+] PMR,;J"G?^8?4]^G5[U
M[WG6@#2^C2;E\/HW\^GR@])15WSR?32<7\+5L!B+%NX#(+'^=9Z]6[YX?]<Y
M<;8*A:Q<;>SL\4!)^0C%__+^[)YO9/'X)[ZB6_UL<WSF+<*(C8=N;'\,2FHT
M0R-$I]F@8**$XG7-:<_^WKV'YQKLZ;9QO]ONZR6LYNO56C#OE4D9Y5QAK2E3
M2CHF%!7!/BYU:Z[1_P#-X9Z$S==%;+XND%>.X,?Z5JI_8R?F#28]SME1YV-L
MC:@' 9RATG-*FZDP_L%^^-N_CQ[5^(\VO/3#)LP157L/*BUCUE(D'.&""NN]
MMP)>4>RE]OHNYM04_!4OFM62GSUF,*P8>!F?,H/_OAGEHSB\JNH-[-:_PUV
MK_,/D\%/C^/$H4-/M,CALPT1*<%$@QATGRE?0K#-\.V/+T&FP];U'H4L=SGJ
MSZ;[0JV%%;"8.;[^,RD\!,D_H>+/8:6@;:=AJ5I_2"]315P@2"..N;:$:>>M
M]5QB$>2]:/I>T:[<Z(ML<#F!E?X&S_CY9W>\F/>4NL4:K4NV*XEWRM@>K-B5
M+RBYZP;:>4LI;.EP>A.=*LL];12=FEB&XNWWTC7T93H>[FK?;COQ-T/A!R:Z
M%2S36J$C300HFX02L'PY1Z" 8HFE0XPXXREV;V7X=FE0S6+Q _3;Y4GM+Z90
MW'$8XT4%];\#B9?-XCC@3A^GD_,J)F[*F/@J*OA++890**K_7B:J3))^$G\Y
M6Q)>4C!2NT*SZU-;A/OSFYAL5*3&7 .EWO:2ZW&,A\:0'/#;Z+J,T'V;3H??
M1^/Q,M-FWI]\*S)XE@DY1?0.KI^M JV/Q%NFD_%M\OTRF\0TA5I&PGB:YV5Z
MT&#Z;0+#'JYGCCR0Y%#[]>"RR-F8965<LHR0YEF7U' 420T1/DJ[KTPJ*GAI
MB3-W>>M^,&M#$+-ZNGX>7Y678WQGL,7?E[,J6O8M._\RR_J_G_>_PG#>]<??
M^[=Y#.%<SA8SZ1=:0*Y)4$Q*K!TCG%MC"?4T.KF5%4X:'G_3KTWYZ7EM$]5[
MJ4KC/OWMH_^_B?OTZ]\__6HN/GSZ^(Q$SM<8X,=/%_YS<O$)AOCQ\Z>?/Z3F
MPJ=)^/#1?'0?S,_)YPOXX!?_\>)S\L-O'\UOZ0?X_L?DH2U]@N8VXOE^)I:P
M=\ENB0D?)G]DI;&>?RAZEIC)T -\SV^K@I&YZ^>7\'G\)WX'^!T__6T"M#R.
M  W?_;IX^;>8 /GS-&:L/)FHP*5WH+NFWE/"*=;6I%H'ZBW%H  +5TM44$'#
MA\$P:1!'@BGBC><ILIPZSE)SMG %W<! YL]^#KZ;YQ!GV4OBWTEMLJ6\JZW6
M/57F;I)(':=V60#\LGF1LV>FJD27R[LH8Z>3.+]/7^,2W-ERV.C:$EQ$W?#)
M7?8(2T.8#\I[#F,T1 I&G6*$((&(J>TR)H($"GN-4LO3U%EMM5$AQ2;U&"R=
M%Z6CO%AE*HEB$(DBNTL4HVI%5BE/PV4*6I6PLG.2QD&G8#247Z$VYE>([1(E
M[GTE=OO9/A_VIMZNMM:YV>2TW+/G[YY>LH.*^(#PWJ"WG^C!Q1.@A;-_768O
M+>RDQU.8&JV0U%*7>)2O1YV]U92[N[7I7,]W<VN"9,9HU7XR(&8Y:'T&><>%
M4A:G7CC0]+T).DWOV2Z1:!YV2C?AZ$6\)TA7<^98:\Z\'JXLI%6A;=\354>6
M,KK;7%\GVZ'$FUH/-JZ8YX[*8(WB5#O-7>I2G5JJF?'2;(DWZM]8(WC#>H*_
M2ONQ5R'(4RZ[^\LC)^V/+J%R5Z$O>"7T'<5I8%@BIKE7P@I'-#>IXSJZC<1=
M)BS6]I=B:0.0=F[FKC^;W<*TGPA2-\&?HH<4/H8"&*=D21X>2VW)0;6</4R
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
MI4N80 X[+'0@CJ-4Q'XY-#BGB0<S2[DW=NP\4=OWS>%!Z1XAQUU)L M+G"1
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
MT6M&!CJ3OT4Q@H,(!?P"I#$87??'IYT.3&M^/TMX"JR.:4H4#S1HQ0T.&I%
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
M+?Z+[].]80GO"7(4)3A.05<#+,&=7K;C4>HC.BI=H$_]J+04SK$@=,J"XZE
M-I T%GYF2 =%F7P1^D1/Y!Y+ %'<Z/'#3I?9*_Z03I<Y2EVF?E YL'@VF6AF
MC2\R/1CH,8;A$+L.8V]?@B:QW=#^NK7W%&VR3UO+,>/@E9F[AW<Z9>9DE1E9
M*3.$*8VHL(!"BBN!+3)I&HQUPE$";UX$/Z,_]MA_MZ=55TKT<'09UNDRQZG+
MU/TR,J5"I,PZ3&)#VG@:"%OGE0Q$*&'6&B<^!TD^C_[<7[_93HLY%"VFR-\O
MCA9WNDRGRQ3P(VJ.&4XP R7&,RI3S@W2P6&*@H7_*TH8WPE^"G+;-P;19LO9
M': J<SP2_Z3GUY7CZ\KQK:"9UWSF.!6$480LDQQ>&1M;*S)JO26&VGOE1;=%
MY_V9E[+'>9.*X8&6ZGN5%J^M.+H8#_G&W+3B>'.6QP.G?\26[*M^EV5.\$.9
MP.61]?)L;__>H8@]EV00HCH]F&KO4N2H!.6'6YYJ&R1B,J1!!>;)MB497L!5
M&XXAB1X6<B]')+ISN4\1=XG>V?"\#^@42S0LJ3V9Q6/J\=S./DE4UNJX2"2,
MD(H:JKCF2BO$>+#.@,KN.;N7$K9.HO^QF(<IIY$N9O$K3.+OV6QPKXC( [0+
M) D[72=?O.WIKI\V.AR?N7A_.92CYN5QT7M4-"M2\:H#$L5ILZ:(:7F(Y0XM
MJ4JK4*G'A'LAA1#< C$I%5+)O,02U K^/%KZ=3F7XLL+F E^C)9J-'*>9X-W
MPYO9;<Q!_%?ZD[@KW)+X3?Y"=#LH*KE;M.42J*6H?[(8?5$3H_@P?GN;Q3(I
M5R!(!R! O]S,R^\'LRP"4PY(6-1FB4@5MRLO#FC5ZD6T:P%:"/W+[9A^CXL%
M*SP:EX0S_*_^8%'G<%04R9E=3PMI<)GUA_]]TY\!-R]V:U36!H)GC.%&@\'-
M=2RUL3IB&JMF)-\OI["K>75(]-LL*ZM[E$501N/QHJA.5)-B=@/0RZ_P?7\<
MRX),KQH00QO..8J:KQK4H>")3QU%H.A+;A&+<!)#8"&06'+J254I_O6A&/4^
MCY/NI1+ WH^32D1J(0$,(CY%)%66<\5!S!.OD60:.>52_I)E5HTM\UY4TH=.
MEY;'2=MTFO0EU'!G)!2M=WI^YMWN'G*_CPW[-*,DKIE13!+B)6&$"NY2HAU2
MRIH@@9JUO%_C^YG8T-"9:,KV!0[[7>?JK'GP/ @4'$EMM &$48*"O4JUBV5O
MQ(:"#AO!H:EUW@L(+]'AWEGS#ARV 8>&3KU/9P\7";F86C (!AD\;;C] 7B$
M K**!BS XG72@N#3//6.6<P-%KIV )YXB@(8PD)QPH-'EG#&,0'"5\RDA+WL
M /P^=,G%F?@KL)&N;JZ*BFR SK.X2->@/A:G?LOBI+'RY;@X3'Y'$^S.S#=^
M9E[KGP0@J^3=R?GNY/QQ!QZ[D_,WD_F)9OYT!^>[@_/'?G!>ZEH[3IDJ+XB4
M##/.%5*"L4 I)88KA\V#\?)M=-G7/3LOY8EG-1U2@G9W</XX$[05KF"%22/B
M@7GI EB;1FF=8FTM-:E1EH2=3>2+[],()/OLX=TDE+0<,0Y;5>O.S7?IV17X
MT"KB9HU@QL:&2IAP@ZC")J0Q^<-[JZQXL!C05N 3XRN'!#^=)M,=F^\TF1W
M1%2:C-=&8Q$#2$QRV'+KX+7F3A)*:% [@TD\,G](6-)BR#@!P=Y-_/4.@3RV
MFL=_.N0ECJW#.S:B:FXPA:UTS"MGC.&.,>,"=PI,5DU5C)CNBO)[ W>M&ZU)
ML#-EG/!AD@=;*#\:2'ZYXG)_1,,6M6R^6W9A^/R6S8NN]Y1)&S#"3I.4ZX"U
M9"D%:\XJ826R+/ZFO[8$3\VKZ_7\?J^]GI^5/+&?F27R7:E")+OEYWR8S/N3
M;R, BZ)[<AX/>XRG^<WLZ20<IZUS$BM"F>?>!PW6 5->(L$X"MC4DG!2*@G!
M2B"A, \TU2K%F'&:6HS3$.M5+( D&YKYLY^#[^;P5!-*RAG=QZX[24T;VG5O
M,80=<Z,^#RZSX<TXBV$BD(G9SU%JWMV0S0E1.%@C%??*IIY;@K4QE%KBM!&>
M.\_K'4%28H4EJ: ><8^9)2CU)A4X%<PZX7=.B!(O)_ B^ X"^G^*(WZK32S:
M(!4=+_-1'H__+4\*%ME-,<=^Y_RF@TY>:JB;!R8;DY+X_\_>ES:W;:7I_A64
M9_K>I(IVGWUQZD[563.^-Y'<MM(]_2D%4Y#%"46J"=*.YM??<P ND*B%(D$2
M))%..^8&X"S/\[[G7=>,/%KS9T=SLU.JQW"P84-UR>*?8X/F)ZEG)XI8.AK=
MA6G8ZT/\/29SG[AE^%0AH+K=R<VDGP8AO=<].%4C"GVNW8HGN17/LG'+Q4]Q
M<9WQ$;"I'LIPCAV/>E\FQ:%ND(V_#T=_Y#MB@_W$<]9E*&]L@.?K3=V$4):1
M2ND6P ' P!-$N**4&24YQIA 0RSVSBWU-'GF7%XH?(^;N'^?_OSW9WZN[WY-
M_WLX,OUPOE5_]O+Y;ZH;]U.1C/]K5M;2V-PI*CJ '7>;I=9=V/+8L?)8I28+
M4X8HJ)2*+=YBDU^$*<", J,E<,LU69XAHHK67E6<6V9KF:UEMI;9=L%LM%+*
M!%N'C5+2$.FHDE0JJ@TPGE$'/'H5LX5#8,-9['^RT? RS:_C[A<(HI^.FL'6
MB']M[/$RUGOJ9]$=-<ZZUX,PP5][V1/GRP,.&5T7T%!4RKP0HH2RUGA% 14:
M242@<)@13@E?JI:YCR-7]BWK#V^SRXO96M[5K)] W&'B*")23\EZ>CIXQ7Q1
M,P4@X#FS5&)!B39"13N) \9H"Q%<JB76C*/%UA$L.H@=10N3%L#'"&#*%C9.
MBF+(%6=!ZE)#F-+,0$M-%+@6JZ6:B[O7H+<.5MHAB!T#6$_"56,F>;AW-DI&
M6;\L-WO=N]U4ESZ@),]U,<\70EM:HAF@G#@BJ9%:&@<8=@YY[AV2;(]*=NP#
M]/MLB4VX:AQ-K@:7GZJK7:.<9D>>1GK*AL 6_@OXRX7()Y!#@WR0]^&$'? N
M# 1,2*(D9A2KUYRQMZ^S[Y@06 >"6EO,M(30$D(3"8'!2O\/KQR51%,8",%S
MI+%7W'!.E?54.KZW,\".P8\Z%-1Y$&@>^(_)J'X6Z]H.;VZS<;6<;7O&G^(;
MLTJ5%V\X\,0[#ZA52$"+/ %"<XVME4LUO?=@5#\?AYW\\-OU.?QYG=[^QHKN
M4Y+0QP-4NA#$6!$%K6#424.IQ%K&?BA,&H4%8_0U0-V=-7W+T 5U9N^WT&VA
M6R-T^2)66$HH(*2& :>B25UP )C"2%N'E4*OB17>CAU]NS!EZ!A0>@JU('7:
MC\T@ICW:YAU!DH=M2=KB0FUQH9VP:"#*1<4!@B277&& $87("RZ=50)014@@
MTYI.*G7P'>AP1-JZ0JV9L27+EBQW2):55FU,!ET3,(8%)A1(HR4G3$J+%$ >
M\=>8;5]U6JPCY )U.*XU Z.ESY8^6_ILZ?,%^JS4/H?8*J0$IEYIJ@V1""D4
M]$UH;#BV>US'B;V.ABT=*5M%<Y,S^PY-;/-Z8;>O*7"VW:H=1S;N4QIKN\;'
M/]:37.-F5JI_6FJ)UTZ V%W5I7U-45L<KYG%\8[Y:-B"YJG=<B3E]-K->XJ;
MMRW ]PS?'U/,YC[K[&UY:.M8Y_8>^+*:U4S(A=5,,B6U1LP+;BE66%FGA' $
M .PQ,$M=D-?PT(J_D<;47-EVY:C&.AB.0-ZV#-(8!I%PD7UJ%0CDH3BF#%$J
MG 0<"\:Y]HXB*/Q6W)8MI[2<TG+*<7%*)<,%$F,1,) :@*B67",@&-  6:8@
M<:_AE,=]>4WBCVW6@6NP&^\8:E=LHP[< >6JK@ALNBCP**RV!'C-HY,>."RU
MQ19JQ2$S4AK5A./&X=6#:UYB:FL7/$FD<[CH'HZ1YA;$K%1!*<)""1*@;R'R
M4.HM%:EN/O99A\6<C!;Z+?2/"_JRVF?2.0@!I,H;2HT5C#NHL!76 PRDWK_V
MOG68\PY@M;:I;AS,C\F-L94:=(>*Y #<A10GV$!NH1)*02KBOXQ(CXF5R'%@
MT1[U]0,O+==8^7Q*8OAP,8H7XI9(9R@'T "NJ9=<>R&)QM(;+1B6K\'H]C7M
M':.6=C@\BEJP+6J/ ;5DD>T' />88:T\E=0*)+@4RFL+M8/(,+(W)7GG1=J$
M/(K2ZB=A\=Y*D;:C.PQ#4#6$$6T\D59:A"CR6B"-!7*$84 %4:])Z]V6R?N0
MJK4U[R3<&KQ.$^,5BQ<EWGN&-*5$4$N]0H!+B@T7"$+A7^/6VIVQ>[NH1[7J
MW2WJ6]0W O4!]G/4&P8X]CS@G7 J+- $20*45LPS2^C^5/C=(!S26O/8&X?P
M-2S<357;[Q>)LUFWK!&'85$C3C2F;L?>RG-LJ1K'UL:\4\K#BXJV7A(C&1#<
M T&)Y%KZ<)2!EGMEF:JEH%L@O<,LZ-;(<AHG8#=L>:KEJ8*GZ*)\+^0*6821
M0]13;ZQD&!+L*"<,6LBVTQ.G'N:BH,-@K3UK6N9JF:MEKB8S%\>+G@'(!2:#
M4@LI@X:E%-)6H7#2!)A# S<O8U8/2T'0"8IARU+%(?&OXS0\Z>S]U^Z01ZY<
MSNK9Y"8\3'>V>Z8O[Z^H+0O3_?/"/MP8G[O7V>6DGPVOGMDB?C*>C+*J7'-_
MWF:#/+N(([H(M]']8?>/-\6.C2\_9_VL6.JWDFC)F!,@;"DJ))36$.^EX]J)
M&#;T=F$>Q00B KGW0%OJ 5&8$NI1N( 2C(L@C;.PZ6[CRHTFV?VU[/<&V=MY
M'2/PEWN(9P'>E<7^[TD^[EW=;8Y:59R39XORRA_/:["7U/^P$/LKK]8)<S,.
MF(M9)E?%:B5I9;F2K%RO,G0M9J(,D]Y\D<.!/ZYRTLOCT?]JV ^R+4]^Z V2
M\?5PDJ>#R_S']T]625B:^N5YK7S[GC@"LX7I#8(<+5]7+S>(S-*_MY80E.*X
MP%+2S?K]Z:?_YPUX4[P.C]F=O7YD B]Z-UF>G&7?DT_#FW1)>'_O78ZOPU_#
M.*94T@WSD=[FV?O97WYZ2!QOY@:@N<F3OGG:/%3>0J"__/1FB?6FMU_O([K2
MS_9:.O%ISI6O@Z!\K)Q&<?4@?(:C8M>_GX1M-8H;*ESYGUDZ2EQXXW)NV2J1
MAV'G-/7*VBK3;'FC+-5>J6.K%#6+)H/QVA;=AM2H6U-T?<INTDBZHRC!KGI1
MF5N[#\@1N[!JIX"M^R_J/%5M4"2Z$0<F1!?Q-893J!E$DD)"(0C')L04$XPP
M2[6SKSDP/:('S^%T'M3H"*8H;;971U_4V7>I=:EM$7<(('#BVL71QNFB2O@>
MXX@HR2CBP% 0_NZYD09I20'#2K^JO,TRO9R% 5Y\S_K?LE_#DUYOK\$1ZH13
M>AMF>S#< EM]K0TYFK*17!3& 4IR2A@UVA!*!)($!75'(*")]PJ\RJ^US$91
MM[GX/MPB"0%XW'4OCDO!0:V"<YP*#D:5_ 1F+<6>",(5I9Q(K 3T0'"&C$&.
MU4 IUZ,LVQJIP YK$X@.2+/!K6;3:C93&B(5S89 KH0EUFA-=> BA;GEPE@-
M!2.6;DY#?CC9GN5&BN.NZG-<B@UI%9LC56PJEAL;M!RG.)+&8^H"0"%#.B9@
M4B^, 1M:;@I&"=_=&J,05*<MN.'$<=A:S468DRR]&F>C5K=I=9LI$U6L-AA@
MK)D./!282!DN 040,8ZH4A#[#:TV*FZ\K=,1!*=>S^QX]("3'M^1Q54_$O]R
M@H'6C\S"2BQ-$&L;2+>!UT\%7L?7<1E[@TE:3G/QM;381KF5$ J!B0% 4.VU
MPL@8+["R3'N$28S+3%>)JZUB2]R^IE7KRAW9SB]<(MXGZX62?QP-+R?=\3_2
MT2@=C.]L+^_VA_ED]'R N.<\($I;'TMB,.:TMU !YK'#P@FN*@'B$GBBE0K?
MP)2Z,)F.>L,0AHQH!H@HP116(;M4XU??!SZ,+Y\-)#G_$O9J6=1J>>VK&^/!
M/EAGM/ 5<>UB2W'MX:"2Q*8%Z> N&<5HVLL\&8?W%B'FW6$^+B(')_VK7C\\
MY-?DMES]Y'LY:[TL3])Q\;/PHRQ^.0^TE7Q)\_#[R6V8G>M>/AZ.(M44U\MC
M4/KT@DFWG_9N\G=)=>Z3F_0N"2PX3+YDT^<*E\HG7_+L7Y-L,(Z_7[K?]^ML
MD 5*2_+;0(U783>'5X-PL^$HZ?9&W<E-/HY)[WG2"P,.BU09RK\F86+#^G\)
M]PJ7_&,P_!Y#XL.PO@\G_<MD,!PGU^FW,*@L"Q^D?X0_>X/P%&FW&V-+DTD>
M+U<9YV4Z3L.@_G'=BX\69G3P-?V:A1\E81F#EAZDQ-+=P^NOH_0F3.?@,KX(
MSYIG>2?\J-N?Q+V0Q,?^EO7ODIMA$!OA5O&]\.7L6]J/.S&\C/,RNV"8FN$D
MC#ZL\' 0YRV?W-[V>]FHO,7XNC>Z?'N;CL)7XVZ.LB-,_6!R%?X2T#P*]QXO
M=DC1C83_E,\6/EQ_OF1%1L'55=C[8:&^W,V'=I7V^C%%810V4[A:W%-Q)X;Y
M"K/1*9XBST;?>MTLB+Y^&-OH;KI%PJ GHU&X6IBRL %&6;EBZ<-+ATE6@R2]
M##_-LZ1['>1N,<UQ2X?QA^</;\<!#4?EOAIE^:0_3HJ<ARP99#&/(FR1B+8X
MDO!P\_&%6WWKY7%'ODO^L3SH,.11-EV=\D'C%"'PD^IV Z]<SG(Q\N)M^%,R
M'$SG<U (S0)@LU(,GZ^SH"B\6Z*9]1-]SJ\>\/0OO?1++VZ,EY-YE/$&><8=
MA8QZQXN2H@I#SRFQCI$*5RL>Q)N01F &*/%,*\TL10P"C@&C=NUDGAHD7\EP
MY:;(9TO^V/;]GHVR-B6FII08LK64&%93WLOAFQCKK^#2!KDWUH(H"8(9%HM*
M4TC%XE*"&N<I5<!I[H4G7"&O*0AD_(+"7LBG<';<5C(PZ7!2:R[P 5H'#\;]
M^7&NY!1Z4$6K[^5YU&(N)Z.98GD;9FEX>7K.Q * !"SJB7#DJ494&\$U%=(K
MJ)" RE,;%"$.EHJX/@[ ?\SG^D,QU6^>5O$VK[K:P: -BSH0Z>[+PW$LIAS%
M^R,:ZPG66/[A!7BB!3PI4-0AKHF3C%)MA7="6& 4((QS#U>#Y\?TKBAGO4U8
MH@[?33GDY3V\R<+6L\U_/&[)>E]'GY>!2!Y6@&B=5:VSZG7.JI+P:*7GBU:.
M8*DQ$#Z<"I2T &E(B*!,4JB7HB57/A#4E,?:0;SU437!1V6@X-YB8RSW5!HI
M#-12,&PAEAA9W30?E5S71V7#E[^ET5S^89"/1Y-"DJO!Y7]FEU_#<ZMH2>]%
MU7M%[Y6CF!*$H=3AS(T\DMAB$$[AP%B@D!45BRAA&D+HI<-.42J(=AA1+Z42
M2%F+W+/>JQ?OL^2]6HPTJ0QU4__5*L^QR3!0L]Q?<^=&8+'P%(.D\#X,NG?)
MJ)?_$;TBZ=>BN4FX?'1F?+V++H_;<#+N]F[3?O\NT&(>?E=67+H).ROHZ5EY
M:!Z.P^^BU^.J-P@*0?Q;Z8**:L$#XW1TY!0^K7"705X29>FM^5)J$WFXT6!X
M$ZXT+GT.#QXX'MQ+%T<\M%^-AC?56RR-+OMSZC(I/#3ODL04GXS[=_=\/TE1
MF24OG5Y96/?P!-WD.F I*[QYY?Q$CU)>3%BX4)S<A]^<C'O],/_+CQ'>"(><
MR[D;*D^^]\;7T5\T&14HC5,RN8VW6K-NUCV).N.2J4"% %/),UPI&$J9L-I1
M ^,!@GHAE?'<L9CC[6-.PD.Z^37]LW<SN2G+0X29_[5\\KOS*U^.U4R'ND!K
M#I\\6,PKMD_9RA9[JX#JO8+N9\/!Y?2C[')6R+TBA]_F6??]Y61TF=Z]^0]"
MG^2$M68T"5>]O_A9]'@55)HLRZA'9%(IS!Z*FN6"0"]0Q>+)UJ@7%.O6/WC8
MXL_KT<)K\S5[^V64I7^\+6)ZWZ?][V'D45)>CZ8C>>[QGBMP5)>L-.<_G[G_
M2LSYIX_GG]3%A_.S9'6?U2X>, KSS\G%>7C$L\_GOWRPZL+9Q'\X4V?F@_HE
M^7P1WOC5G5U\3G[X[4S]9C^$SW]\N(UF0[FW=6J096@S688;(,MB2$4_J/23
MJ6OZ9;)/TL#4911$T-)'X=JEN)C^[&U5SHRR;A9H*RBNT^B$]*YX,>7YKX'T
MR@^")I5'MAY,/>^7"[J;>LN#,+PLI>27*.BN\FP<(P;&RX[:J[0WJ@C$ZWGY
MPN)&4V=VE U?LB+Z(LJ8R_*)\F79$^\>XS@6A!D/YM<EP89;SC6GP@Q>_&@6
MWE&8OP,!C./G[Y(-?/2QF=[[\\DXAJ+$+>%+N3=OJ[>"9QX"!AVVR$H1E$NO
MP_G.0":=PEQ8[RIZJ >6&4JDYLI0((7&"#BH+(>081+UT T\\]L.1[I.+\M-
M4'CDXPH,%]/VB+[0>NPW\-C#EUWVA#_C>U^SC.5Z']5?3G.GCP^:7[MS7UE!
M; _E*9\T!FU-%7JA'O!II68<\]I'T\R#^K-/!>?L%>Y;.(Y,-<Y-G90-*T=;
MVV%H6$::%J>8OT<%]\3!?VAUB>O:"+]]ML4></^:A%-2/WNT2O$I;8238(26
M $Z3 %;$>U47F$\0?VJ"#CW8J7P9O_R^-PZ7[?Y4]6B%H^]PG-A[)INI3;SJ
M['J_C4B98\#53L/ &C8))SOPU5GU6"?AB(+(W&0TW)%RT*PHIZE3ED$^-V@+
MHA7%1D(%!(4228P$%YH2#C'&!CP= U*DX<^TKK(?R./!3K_GH_'OL^-KX6N=
M>4]^=[]]VL@O.X^BRF+=N75*KHA.T'6.(8;[!%3;W:&S08&8!TLR>%'VPRDH
M.&7,6.0ID4!:CY  0ANIB++J0$AF[;I.LL-DG46Y6Y(Y!I+919[5#(R5N&8,
MB-66 \FDH(Y@#6*E>Q/P2("48JE2VFO!*/Y&FBSQ$6XE?@O&+9TL#E+ KT@A
MO!*-[;SU@"L$.*+,,^FPP=I2+ PBV!T*A:R=8,8Z&!\%A9Q"XN?_3</W8_3:
M/[/!OJU:S=34!:W$:%M@9?Q(>BH8D4I2)+R06K)83G6[FOK__?C/>I#=RX<$
M01XON!;"&0 U:PG-J[?0FG./*Z=[7?3+10T48J&&7@+@N:?4:VUQ0#^&C"K
M]'(1Y8:B?_V42LJ.N\;**6/^6'"^&JPY%(O21AHB)*!4 %BJO),.4 P\)18P
M@)G8KKK>&*&.12O4CQG@QRC45P0[QHL,%<,A=!03JS0%D IEA !8 P2($O!0
MP+Y^329"VS91!^*(_S7[,SSV(/F8Y2?MD.=T@5_L)9):>Z M= )A9AURSG'.
M/)4>/5.4H0X=_-?_.FN&L)9UR^K&BN13DKS'@UBV"*&1E%,.O"5!REIEB-#
M*(.D%""@5I$#0>SZE4DI:X%Z&$ ],'"NB$6QB#2QE!(F!(?AK.LTX=!Z7V!1
M&<Z07FI(6*_VNS_I^3_9:'B9YM=Q^06"Z*<6D <!R .6G*N!4P!8,2\7!F;&
M$=%"*ZQ@+*,0P&DE<GASU79'X%Q94!XE*$_!9:QC@:S\.OD8![!O*ULC]=^P
MG>>P-L9;CJD2!&E-F3 FEO9"3#!-(?8;R]SG]=^?]<=FG%A1A]+6N-P:EX\?
M^W@1+V(4,-A*KX&FQ MH<5"](_:#1 =4' KVU[<V0W+<UN93QORQX'Q%6%=*
M=08P8^^<)0XA02!RTOH"UMI3S>E2[>MZ-?4FB?367WRT\#Y&D;XBU-DBYDMJ
MC;W00')F "76>J,+J'M*&%"' O7U)3@"M9;1;QS$C\A?_/^&HRS\X!_#=0*Y
MFP?6=?7O2M<ZQK 4#.& 6(@TP598%_XN%/&>&+IE;_'_^_2/>@5UN.":*&:L
M=1@?H>@]&M!*4 G1HA1P:;4EUG"M#2"6%Z#E&!) W(& =GV1"VB=8=8M4%N'
M\:O47XG0HM6V$9!"$*0/("S\G0G!"BPJ2 4'6U9_&R1 (:*M #T87!ZP %T1
MHW@18*64<!18IAE$'@JG(?$%1HU%5E%T(!A=OY^E .(8<'D*KN/_G R^IN&C
M0>*'H]Y:Q6</R-RTKC),%^#6!AD&A-(80\HMDPXQQH$TAH7C+-]RQO%__N:;
M86H6I$U.:HW-IX%^OH@=8=8"Q@7!G C*'1-82BUA4,(U4(XM]81K*/HW:%6-
M6__QL6+^6'"^(JQEI4V6TUQ#X#UWABHB!=#>B*"U>RDT9!M;N)[7V!LCU#EM
MA?HQ _P8A?IJ8(< +(+ A.2*4T>,9)9"0S3@#')@$.,(&[7E\WD#A#@3]*@Q
M?D0NY(NT][TL!V9C,[_149B]UU3$(4"5RE]6D@!DP#135%.I"!%$>8>(L,CQ
M+1<"O_C'9@V:YR >?U\SBY%V>&O]/C:Y>T10Q96@#\V)8@ KI@1ERDFC",04
M*<DP0GIC>;LCJ*Y=3KM#^%'8PT\ J0>&SE7!2!?%M;SETDA" 0U:($0X8!!*
M*06#5ABS>0.-YY7?O<M-VGJ-#P>-!RPW5T4F7X1928+#2X"@-YX" X-:&^!)
MN,5!RT4*'@@RUQ>3 AQ%TXE3<!N;=)!>1J_QVJ?2 S(QK:T#RP6XJ6>6"J04
M,IPJ!;0'Q(2WO!&>&+'EEC)&U03N;KHNN&%K5V[MRB< ^B#2%X5L(?)>,,$X
MI=0JJR A$DE(H?+>@BW7IZX-].M*=%%KTXD6\DV"_+' ?%54HT7-+@8U8M
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
M3+++ZK0FCHK6D&QIK:6U)M):J\^]1'R5NKO:&$HL9] "2QVV"BB"O7$0,$&
M>*:ZQ:OTN7\>#_%13%OB:XFO@<1WK#PWH[4?7N*U2N5?@PS#"#KF(*5"0&UL
M;)0C%(96V'K.J>+P>"W>/[SW+,%AMM.\B65.V#^.'C/L;25A8CEAX6%*PZY3
M*HH_T@):N98*(1@0PR&F"'E-'9&.*.4TP(#K& 2:KA+Y7UU1$9:O?L7G[/S"
M)1"\3]8+T_^4?<L&D\R/AC<F_")N^W_TQM=FDH<=EXV>C;[7@(&@,%F()*&
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
M?KQ:+/U<#\JK3]I?H+CZN)?9519 L7C<$B?3:UX&).1QTU8&48YAAJZ(E^F
M@RH4'W;8CZ5?P^L'^+H_OMGMIA,0'WQ-&G_ +O4<LU_)X>WSM,]S:,\3=<;(
M%+W!)"V5QN+M\HL/GWBY^,Z;YT>T> +YN@<NOP[Y@X<M_KP>S:YPFW[-WGX)
M@OB/M^E5>)SW:?][>I>'^_SU>C0=R8I*U];J4)GSG\_<?R7F_-/'\T_JXL/Y
M6;*65KB]2I;G%^YS<G$>'O'L\_DO'ZRZ<#;Q'\[4F?F@?DD^7X0W?G5G%Y^3
M'WX[4[_9#^'S'Y/'5N;AUGFPMQZI"ZX! \9!"Y$D1:$%ZR%4#BD!B80*O$5O
MUBQO;J<B;6K4TW=J-$H'7XONF[:7=X,>-1EESQ8M9UI[Y[FP1@@*N5?(:1!.
MVT01 2W5E:+EBF.(%$!>(TT]!8HK)C$&5A%JC$&O*EJ^=1YXH:AYU!)7U CB
M2?-;;WPWURZ7M,FI,MD,77+MXNO/+,E)%6.7\AT#$G.Z64EV\N;I&-#R1@*L
M5R]<-+]>>.UPGADF2X/-DIFDS>UO>@0\!8MT-P>EEU@+2L-'*'S!:<,$8MC"
M^!%Z0<YM8&9\WALE.X+4&>K8_+#SU3(M8%-9X<.@&S3C:&X(1_+5Q'F;FO(0
MF(@L@I6I\$'#(\I 104@TFAC8L&PH!4:YY>< 0^ J<(("\/,-B->,.]@6FM$
MWY%DC306I9\6EJ^*06Q#(#87;S^\!#BR )P#@@$-PTD+A[.A@MIPJR#Q 8%6
M8?<2X.;_F=E6X5:1QSH4UEF#<WDG[E\'^_&$Q:D?CL+Q;)!D?W:OHQTA&:7C
M<!0K_GZ"@O-%(#,Z![+F#KH@.#ECFEJC-4?"$J4%H HY8F9 CFF6#U$\G793
M^.RZ=VXZ^^HR^@^C+6=C4.?A\N&]YT/ER4X*+QP=Y@_P^%Q/WX#C"CA]Q&I\
M@A&HC\S":H<(N2C_"2V#X7!OI(6,>DBD]( 1"9SU$A&\%%'_\NE^U7BM%U(9
M08?@-A6H#37=TB.H/$F3VV);A:U21&!>]H+T[DS#+,N8F>M P=DT;F P'!>&
MB])5DQ7?F[=:G08>1+XN0EI&Z2"?@N\V3''XO-\?=M-I:.8D?#CNY5>]\/(V
M&Q4P* (0OH1!%IZI&.P4V'\R6D1-A(?Y%LTDR3"01V\P?>CBT2XG94A5O'T_
MRZ/#)'YOD"5W63IZMY*#-2U8(K?&:X8!QQPXZK15BC@-PBO@&2>@Z%R:KA/2
MMAT_80+A^V0]?UQ<XZQ8B-A;N!_7I@C>_3D;9*.T_ZPCSAL#H(;,8\0HH%(*
M"[64FAMJ*96^XH@CE#D%,#*.8^JY4,"(<& DUE'.O?(E@X;%R"[5^-7W@0_]
M>)_'X9'?ZC3/+I/J"!-7QA@O8?_>WGC9/[K*$VTR(/0*5^2V(B4K47/_Z]\$
M@ORG/,FOTU'V]DLQK[?I753T"YB-8PS6I#^.<43=ZGQ/8[JK04UY7)MD>%M\
M_C50Q+3-3;C".*Q%1'+YE2@]\^2'3Y]_RW]\ER2J.7&O#^EQP]CG)Q45RB'*
MJI49$',&6@*IMV&K:*%CEK. G!J&!41+%88_Q_4J8%!%0<7EKN\67_E8+JCZ
MGHXN S#"9)U?%9_FZEO:ZT?A&XY]/\<5>USA^7UZV]^+2US<W99E>F;ONIO;
M_O NRPIPGA?KOU28I]A@>557^G#F5XRXAM'*"CKPY=R<U_JGRZ=*TMDT%&[U
M8NN&??FYLI_+D+OBD["-O_>*6,X @FS4C<%YI1#,_C4)8BL(P+B);M+1']FX
M#%6=R<V'J N(NAD.IJ@HPU[+>R27A= -X/E:TG7_+OF619@%[6_=/7D5Y.VZ
M$S5<^Z[WD#"380^ P!8Y9-PZ::422#)&M2%*2$@QT0X;@H!;JM>_-A"*/_X>
MPXL'7S\6D1-/VRN+2E6?"CM(W/?QU:_IG[V;R4VYS^=(^!A.MF?A^195K*;B
MM@*-^)T9/"J;_FV>==\'3>=[T-/S;!"6J_>M5'#R)X7:>FM9LOSD=CB8B;+A
M))\U(RLV72#W7MCN6USQ:G5AK! '6B*#'14Q@1!JIBUR5KEPH!/WK%4N/EFQ
MQ.6:!2*[/[-/K^':'/;<(HVSP5;6J(CBO4\'@9&BQ'S(",4ZKGF;(C1]W4<L
MAAV9K;*)LF(6(\8B8_2B1S2^*)ZVH*Y\TKV>1L3'WT]CEL+0/J;Q5-N[36?A
MS?$\$B/SQ],@YZ U]2ZSP64>X^_C1+Q[15S?]M6JY[(_2D%2;JI\22-]O6K_
MN7N=74[ZV52*+[%?90_G:AHP=A'%V[-*/PV@TQ1C:Y6E.E"N%Y( )BTTUC@&
M*DH_9D&S!U89C2WUP$625LCP0-V6<";6CK[;ILK[0@#>DD9<U6:7PN[6!$V,
MUEOSIXT-\GM%5-]!Q^Q-@]H V"P4#^(78_&P?":HCJP7I[?>1_5?D=9^1=S\
M",3&UK9]H=/PEMU)V^M%71SKGN2E73S"#[U!N42+\.?3+!136]OK0]V,_RA>
M99=O][H?59CT]&NVUV=P4W/)7A_B8S35G"846_B=-/P^93%'/JS'7I]BEAH]
M2?M[?8Z+;'13@F4NJ@N+1BNF3Y,GU,S7O===^2& HS?(>]V]/L7?H]/B -3G
MEP]U8=,=>"O'\\DXCST^H^&JOH2S XR ?=Z92G'%HV", D0 @8BCQ!N)+?*$
M(*ND\40O-359VX<TM;%6EJATK[Z8%+;L#5T]<@QWN*BS%VOS4DY.N2]1[7K&
MUI>WSI*I+RULTTF(+/)*26 AJ1A'U#FJ16RA:B CWD.IO 9+90-K)*'9D6=Z
MZ)@=NXN3[RKYJA^S47&K*C^A5:OCP7?\N-LHM>S4#OQT!K[ZN?!8)V&U0\;]
M48J&'B9^+@/8]EVA8I<B62[RXC! &!D!#&:2>FF%@$@*99VG5@&JZA;)Q6SG
M'Z:A2JLDSFUP+D =P>L\%C16OAXZGQQ'8OGSJ&.5 BL<LW *5TI[8"EQ5G(.
M@E;,N9>QOO/K49>_"G:O4(:?RF7=1!^F\!VJLZ5 "\L#.GNWXVNFKGKH8ZW5
M[MU4777&U.MHJP=HWGZZP$,I4=G"OFT5%(AC8!335%,L,;<>H]C&.XA9N2Q1
M8RCKASR?9)=V,IKG.Y114M5@X?F4;UE7A1W":VWC>N@%'EH+PW%6;7D!TWQQ
M-J4.6"R$(M+%6BY$<:0IHM@:8@ 4LG8M>8;UIBC*"+ZCK>'X6$'>#OS4!MX:
MCH_)<.R'HZNL%W.?AZ-I>NA:>OD6@L<:H9YS5$EAQH! 3+GSWE()A78(.A)D
MNY<BR//:/;_3M9G$?/[!Y2)#=E>6YS#VK14R>GJ+'+I*?^CL=@IF;$X6E<2$
MX,Y)[115A#(+E0+>2*^IE93K-<S8FZ)ZS_HZ@>]:?].! +4=WV&/KS5L'W5
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
MUAG?UI?WB0WY[]M8V!9@M0!L3?T2-)3\?RZ- \>8._V4(8_11:"=!5!1Z1Q
M-!S'&9,&2><18Q9A!@"M+=#._6L23L8?YLEW^7DX((\NKM/!HR%XJYA@\T+Y
MK=KYWBXZ2N%G#7V<UE@5J[&R[@A$VLHGO,-%(UN4!-&,>TR1E0&$VG/.@$8!
MC5P23+$1]96M?R4:FQ#43.@[]*)9_A!06_>IJJF2M73;[%M%;U6[]NQ4KRFQ
MW9T-Y\W#H$<_'%UEO6AU&L9\XMO>Z&A.(>OONL92WRDQ7+NE&JGG-93''EK/
MY[[MY&'HVVNDSSV/#+[],[D<3J+G>>:2J77.IG<K_-Q+SI_]UI%\ZM3(*YT*
M6QM.#97-U]YPZVV>?<NS8U;E-UOHP_&3/,(=:SE.-N;:QE;A?9(].6EM;GNP
MN:V_U?:KQ6V[LFD30AU?41GE7E3M$S6B8CCZDZD53\0_;I1B\._3S;K6C\O@
MW5%6/L%@6 [QL92V>%I_[;@>O_IL L,%IS?J#8IPDT95$GLN-KR(&'Y;$%U2
M)<,DEH<;Y VL$CH-V V_BL.YZH7]'*/9LYO;_O N+.[M\#86EBQ$QF \W"RA
MXB4A)!>)7]Q)3@ 66"#@))74(VN\IL@HKK"Q]_(ISHIN0.=7/P>BO,W_T1M?
M]P9N.H*/\P$\$ \?2O%0D0V19V^K4N'#F7]"+A0EJX-L^![X.\\&;_YC_'U8
M=_Y*\3CY^V0XR&:56".OQ/2M;- +(+E)!VDI80MR20?#*#\??#?M]Y/R_=F:
MYM/ _-G23\N*]N^2]#;6:XSU/I,8@7]3%!0MJXG&P4?KW&0TK2<;+KW-O2#
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
M'^,U#L=M0YE"5"@1CN$6:6&TEUX+3?9Q]MXI[!'H,%EKUZ\6]RWNFR#=,5S
M'#DK#8) ($4I"#J\5DYZ:(G%&F.X5#MY%Z?XG<(<B@ZJM[E?XV"^UYS+)H7(
M;*<=WRY:,NZU)=_6)F&OR@YN>&W:%VBKJ$V[TVYY!]EZM*6T@Z*TDV2P50F+
M\D97X'V>L(H*O"U?M7QU5'S5JF ;J6"<-;IH\$LYK+%H<$MI+:4=%:6=)(.M
M2EB52-(FUD9^@;"*VL@M8>VDR_H3#;C28DOER#EJE%4.6$X=$"I:7YGB7BH
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
MY7 5&A+(T$<MC"ZX (Y2 -[L9DQ7 QW,AD@+.%9:0M](&8.B/([@&5=QG$E
M*CBJ"E3X_/JZC*>XQR$EK..:.?'@DM+HCLOQLIDG/(1K^'Y0-<?M #A!3RW1
M.*#7K]@6/'^W1-9/^=N(@=[RC@!@:TBW>=*JY'ZIYKTIN-%,13L4%I;DHQ+(
M$7 O0PMS?<OB-11?U&UC:J\PU_TM G9 UC;:TT@+#=7 -=,[)#[Z&BF4,/E:
MF+6W,Y!,)=!6),SA8:N1 WPHL;7<,+_)8!$CN@O,\ A0%'E<#$*-V$O]%%I
MNP$=K!9@G91=I%[;[+O#;4K!N]:2%5GI^X%MC;UR<A^CG"_B^&@"=XQK7A=G
MHWAC8%[$MU/2S;C+5;4'.-/!?@.T6EB))M-*K V?1LK3+4>C])X[&+K M)36
M6+1WWWRK<TQ+L?IV2]MG6AL^,0,%;<-;>P[Y7 YY_ P7_&LHRCY8R*"8=@!]
MNH0]@[8+@A3[ M<6O8PK_O 46]2;ANJ^+NL*<UUF^#*SW,#QM2 (#2M4=,TS
MU*7A@34W#+[#2KA[!;XC*>P+:7R2?4JB*V"2T_L0[(\O<.K%/^*H6." )UP\
MM=C?K!RU>=^15C,_^7'!9 YD6=XV TRR1KE \[/X%G,>F-3Y\>ARR>(I^I)&
M,1AX!?>V5';@L20%0#^3B%M94[  P7Y#C@'"(DJG"?E9ANELQ*VP*7E8H@GZ
MV-!7-86]OU!"/HT+3?\#66>."M(PQ/X'KARZ+F"';#J>SO1 ,\VYYOK+0.?;
M<[+1EVISZ^@CF\*<R;N >4=$7)=X5 <]+H)ATK04\]>RHLX5Q,FI"R7/39&7
MY0-$.)#NHA=&(Y^D,Z/AN9JK,SDP;<\Q&=.9[=BFJVJFIJF*I]CA_/RXAI7F
MQ==,.*^!_W[)RV15QM/VN*HU4$Q[%T0&9[UYM&7; OANG S'#1?>+1*8C;&H
MJ&"1**$<!);,6 !_!TS77,,-;=/1_*6<VB?QX!0,DUE1+%L:V\,(<Z P91<8
M,4RCLN19/H <D02//A*;D=)JXR\W%Y^&3^.!U)BM*8YM><S2F6O"G[)E@TST
M=69I?F/,$Y%^S1JG+' >(?[+<7Z716545%[>:9[50*KT!;@<]AXOU6QN#VH
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
M#8Y,TU798,RP3=NU0^9[LN]JJJ%;SJ.MAIY\SU*KH68;$M_'2YL,K;.$E^Q
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
M1Q;QMRB=<?9-P^#CZ305S/FZFCF/#QC&R3>48H/FR]OH7GQ#!63 R8;B2*^
M@H"A"UX>%?'<;#<<0%VOE<I/@4?P,DID1QE-7H5].4M5G0]!"#EN#<9'!UJN
MW#A-WFPM7VQLB>W-,;2\&C5:B0P^H!/EXG3%\.C.#");[-@_Z@>1;9;RU:HK
M)E8W7T*I#!33K$LH-7F-L7CZ@,E-U:7^:-FE&'U9O;,>;@D\1!#-?1*GHQI-
M&\T&Z? :E.,<T7X47TV!YH&>J%9_87YU7,VO;@NF:^#YP%R^1:":H/Z-2VR*
MK#LEK1[@\WRRLX :,G>=&6W6KFKV#E@[?ZN0_%RFJ"U>;Z_%ZL_:2_\H'O93
MI764TG64%!(R-M0E\!1YR3\.'<ZQG/^&IFN+I@6<^:4)[UM "@\HN[7B7LU
M;A>]EZO9\NJW<D,!5[K(GXD5/ZA[__[79*[0?L&@6-)7JY+XA:GW?UH]<+U+
M"/J8.B44J,OH>V7D=&GE<Z3U;__/4A7SUU**KZ\Y\DM36#:E<2'H%?5'A--M
M$1_A]P(IMMS.A'<S,9YH9O+\,ZQ*(N4%I],NSW7%.=:&1=2:CY[1[VV>PHP6
M3P&!HIM;8F7T0'5@*4KS? NT8/E)MK5*[02;%#D+KEY85O.\A\84)]BW!6>9
MPS73NSC.Q!AV[$2"?(%>"D^XG16W>2GLM4HGJYT2:)<1\[G)X)1YPXMKT-3
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
M?$1*<P157$QX8A=1414Z:89GP&)C[@3&BYIM"2S- %&$:%\Q^P6G@91HUPF
M<*8F8@9@4$BSDN-LY:X G+O)@??7%Q* 1(BV&G>""\?B#5QZ[8J@=3Z')7;+
MR;>C0B*<+_ %SC_':#,A1K=DQCFR;83K%^!RTHET))WF@',JP9U0#!A=B $D
M13[Z;Y[B"!QN1L(91'MR6PD+]%+PH31EB1:[<%_P0'[[ %IJL@CJ<RXZBD0@
M/QJ)1(PJ0Z2^I-(?LP4G=XVM> =GQ67+N8/AVWGM8Z7A&4G)Z#\^E*8?>J"]
M,\\S+.;HNA.RT#1M30\#S5<-%TV\:!/X;1^[3BZ#S[R*3_M%^N^OSNGER:5S
M>?+70').??SB4_79/[GP/IU=?#T/+B3'/?MZ*7UVSO\27$KG)Q=_V1PEMR%-
M,+Y<1V:SO.6L:D***Y,;O@/8R>/2S&LJDO(/J<2"IQK SUR0#VB,[%\<JS*8
MZ[O^S(>M2BP76":[GL&"@%F::;+04BTU<#5;UVW9]$);81MCV:L$+AK$TW^1
MO+/3R_.S3Q>$=%_.S[S 1SSK%J-SRLI&I$R&\QE6#"A:=*0P/EB-C?!/P28N
MZB1K*:@*LAQNN2K "9;%N8B_Q:,!EYC<UUD((2Y8Y*0.W@T6F* W3N)K>!6\
MEFR.,]1V@#%7'/!+51$EA373HXI R6G8K+AI(<V+DH)%1 &ML92(AC*,BSSE
MQA8PZ&$\(EKZ2!."@+5RIRM9704>UD\B*$(/Y]:HF%*%MN(0<PKXT9+(X)EZ
MQY)+;I7*?&NJ. 9/;OLY6\;=U$YF4'OH96MLEGN;Z\A[M4%XPHA7O87D;Q<S
MX?"_BZZC;TE\5ZYYME6<I\JL;#UV/H<B@F_(@HZSL=#VX*U)L0!4D?T?9_12
M6O8J/LGK'!%%<]1W"3UQP57&^*89+COTEQ0\3PV$@:"]9+$N(N$I3FEUUDU.
MRZIL4:X+#T4A9LOE5AEWW-6Q(9>O30;.$2N[8<.G\<4B3ZD$(>A4$0$>N0MF
M,"!Y166>@:UX#PKX'ZBU3_/EZQ>=K:L/;<6!=;@@:K'-Q 9N^4H"VXRYCA$X
M7LA8R +;=ES3\@-+]IW MXQ%"=Q]?_[NS9DOSOFE='+RBW1V^9_!N71R&IZ=
M?P8-\^ST$4W'9JYL*KYGRC(+=/@8A)9LAK(7^@Z3[4[JT\JQ]"GXW?G$]9G
M/SG]O6,*S5]%4&V8@K@0]:.4BTD"AUP&9367D/+"AI3HRH>6DN> ANH!+Y@5
M(L.G+B&B,(%P]Q>4Y0VL)>."_"H>1^DU65<@J*EX=3IO6DE_&R=I3 -7EU/N
M\]FTJN3BJ7G M3"42*,UY^?69O=UN=/]4L'!A+N&\/%D/;2"W-&(,CZ%M,0U
MH]-BV5H<-,X+XJLK#<?'5'A'UA1'5P/+T9CBJ X+'%/3;!?,1E6W.HK8SC'9
M?%+H>)=GYQU#ZI#<"VG"XV25MY_0 ? 4D[8Y3%?I.17Z#E8#<LXMR&5@Y9LK
MXYC'P=!ZK%Z*^MR,F@%4:8:D$',_";U4_?4$Y'YUK _%-YPLFU%2%PTJAJ=5
MWI2_U.[(:W@57(()FR_31%[+>-453;,4UPQD"X0H4VQ#T37;"7T#1*CC^9W$
M?/58^GIZ'OQ^<G$9G >^=.%\"BZDLU *_OOKR>4_I(O ^WI^<GD2<$/VZT6
M/PK^_P(ZV8K'_3I/T_R.U%:*$)3QE-S94\HC0DZ^TEM;189+;I@UE@O6//%@
ML3 -VZ'S^=XG2R4^'5*6?UD?+,M@:%T]U[#J<*?1*OJ'ASL6\G=H5E=FSF[_
MB>9K+E_;[LC< ^@IMWX/TR?&F^ZXD>;2%-,-++H5DN@2(^T/\JO=O_]TAFSW
M#1> T562.6^XAB]5JM?[;.NXM0G#^TF"#FPVNGFX-<,KX!_FLG$(?8F2T1NN
M!)/(B!S?.26\8V'$SX?+!?YW?OV&&-D=X2!%;[H,=#& L/PRNTJ387K_ADMQ
M,IZX\9:,Z@NE]>5OJ;E\X5G4I?11>>]36]ZIXM DLKXA&O)FAM)?L7=7%_1X
M<LR^X4(^1_?2/^*IY+ZI1K?:HGC5-7P5!1]O>@[=8=/O=*[1?\W2>TF1CB3Z
M0[7F/:MO-4AGMUWK46I1*.8@YLB\YPE'6]>@=@[>!Q!RH]D13P&V)[">P'9)
M8#W+[S&R6QC9L_PWG,O7E'X?!)$=T'P^KMO;H.4[LYM9.954MK&>?UB\O;,L
M_  X]5X/;>Y1JHLHU:-1CT;OG3.]3,_JN#JUW\[42KLR0--:[@GQXI&8RX&Q
M]V*!;WH,G66BAVRA;RU+IL?N'KL[A]T]1O<8?5@8_3[Y]0O=E7N'X0?DSEQ1
M%-$["+K#*P^ );X>&KU=+*E'_A[Y>Q[:H]'^H]&[YJ'[[ [^F4K?Z^\7DW_7
MZ?XZATCZ5EHG?%1^DMYP L&7NOW"BI;\>"G.RZ6V(NT5/M)X0S-"S0X4A2ER
MP&17=C7-5W3=-TSFR8;5S<8;VK'D!Z'S]=/EA?3UR]FI=!&<GIR=MQINO+ )
MC>C3H*G;0)G3/%LQ&J^&0*AKAF+:FNRZC"F^YQ@*\YFE**'E^8$7=A("^K'T
M^>0TD"Z<,+C\1[L9;+=.?HH=XU-@;<!*'FN\I#'5,U79T%2=6:KKZI[B,\\S
M]9#9MJ)V$@;L>(VF:9N=OKQ+O.](WS]S:WW_ E]57&9;3JBH3%8\2PD=S9&!
MB U/<\*EMEW=[_MW5,;#(P!($0VGOY2SR20J7M*+RUBA#VZ/#HQC*?C[?YZX
M)Y?/8#[+FVE=/:<W'&[SGJ=[]RCRMKO86-9S6M6L'_57MFUN6L]#<6L5EM+C
M1S@'E9II_4(Z&^+.KSB0?9Q<)5-I51.5/4V*?<]QDO>Y\0WB!ELGU VU$TTY
M5O;))GZW3J%=19Z6-Q/-@74EWQ;D*P)Y<VI2S!GZKQ^D<1%?_\>'R%9MS.PZ
M4N1_?1<_:HIR/)Y.GHNM\V_]\)N')U0-^Z7&'G5K^^76][>SHIQ%?,P1#BG@
M,PKTC]%//].( ORK]B8\.:C@SS7HH@TXP1O)\LU9A-H+YH-E*J^ZZ[?A-NJ.
MN4TS2*.+W*:;3$7M]8Z]81$'PPG4M]4[%$OZ>GQQ[!T#.V RC8&GF6PXW;-U
MV8480&_+1CTW*2JNHBPNC\Z^I_%]Q1M465;__*Y4$;5710Z8SQR^*J*^K2K2
M00;4Q60915:.+[S_[/63/>$;>Y&1>Y(A!Y'^[IY_DBZC[WF63^Y!7YC&&<U"
MN1B.XTDD^?EPAH,,_[RQFW&_,LR!TCSG4R_3#Y8V][M:]0FB]:)T.$NY&/Z4
M9']<82[3RTFXJY3ZR7%[F;@G='<(Y/4INHK3;1+6WLG&+^=!+QL/ED8/6C9^
M*>(2YV*^%^'H!V$O'/>$\ Z!OGP<)I]LF[KV3$+JO70\6"+=;^GHT0SX+]%-
M+)U@'G<TI+"0'TTC*<0QSA_Y=-$I3<61VL1.PT:;A'UI6A%_7!-_>S8I#IV/
MDHS7NXA\RE)"D?3G54-5]E?*KN)JO7SM(NGN!84B%8XDV'>,!/<^).:?-Z&A
M7F#N!]7MM\ ,9T66E.,U2/*Y);$O7MH*-.Q2"9>U<%";EW#9LJ8XEJPHS%&9
M[VBN8NJ:ZH2VJ5N>;6D??MNW$J['AB-MJQ;QXN3W4^=R\ZI/Q;C=0IWAEU8
MGU=7_VN6%#&:@V4=Q7\\SW @;KQ)RFF!CQJ#9CK"QNC#:%92U7928MEV7M!K
MKF*IA).%'U EA==<Q>,HO9:N[NE!E#8A+I@B4<\RN(F>UU2"+Y=&KD/'ZC./
M2%W!5M]?I1O[\+!FPU]A/%RRICWRF_[P3^R1N^SG%L'MA2 #$R_^Y2 U9M%,
M@9/1"^:@O>YF-RAA?&DSP+V!J'?V^VGP=\D[._]R=KZB='Y-VGQ%FU8P8?8L
MD=F-YCS]5ONM]EM]B_+;0_>Y]?O;![UASW4%]_[96NT;#RW?SKY_+G\&JPST
MWJGT7\?2WY(TC:?3G@WU^SLH-G3HL-L;-MNSFAY=>U:SS[#;&U:#*9H)^KBE
M*!M)WCB)KY<KF'OVT^^O9S][!+N]83\?'^F;L%GFVNO[MM3G]8C=#Q+M]]KO
MM=]K[XSN/% /;7]OKAOMC>[PGIW1GZ)9$4G.L?0Y&OIY%J6CG@_U^SLH/G3H
ML-L;/MOSFAY?>UZSU[#;&U[SUV082PL^Z;RXQ2Y\. HLFQ9YFO8.Z7Y_/0/:
M*]CM#0/ZN*J/)K(A9SC,9]D4%O.D?_H%\QJW4Z#4^7*UQ8H!_/?__/O/5_GH
M_K?_^^\_CZ>3]+?_#U!+ 0(4 Q0    (  >!7$]:_A9>0@@  %TX   ;
M          "  0    !A.3(Y,C Q.2TQ,'%X97AH:6)I=#,Q,2YH=&U02P$"
M% ,4    "  '@5Q/5&D,$EL(  " .   &P              @ %["   83DR
M.3(P,3DM,3!Q>&5X:&EB:70S,3(N:'1M4$L! A0#%     @ !X%<3^K/KA"<
M!0  \RX  !L              ( !#Q$  &$Y,CDR,#$Y+3$P<7AE>&AI8FET
M,S(Q+FAT;5!+ 0(4 Q0    (  >!7$]AQ3K3J04  #4N   ;
M  "  >06  !A.3(Y,C Q.2TQ,'%X97AH:6)I=#,R,BYH=&U02P$"% ,4
M"  '@5Q/_A1OP7L1  ">NP  $0              @ '&'   8V=N>"TR,#$Y
M,#DR.2YX<V102P$"% ,4    "  '@5Q/BW=YE&8G  #^GP$ %0
M    @ %P+@  8V=N>"TR,#$Y,#DR.5]C86PN>&UL4$L! A0#%     @ !X%<
M3PUJ[ /H00  ?0\# !4              ( !"58  &-G;G@M,C Q.3 Y,CE?
M9&5F+GAM;%!+ 0(4 Q0    (  >!7$\6U!4XE.,  *^3"@ 5
M  "  228  !C9VYX+3(P,3DP.3(Y7VQA8BYX;6Q02P$"% ,4    "  '@5Q/
MO2>]I=%^  !0/@8 %0              @ 'K>P$ 8V=N>"TR,#$Y,#DR.5]P
M<F4N>&UL4$L! A0#%     @ "(%<3](%N<"<G $ CR$7 !0
M ( ![_H! &-G;G@M.3(Y,C Q.7@Q,'$N:'1M4$L%!@     *  H L0(  +V7
$ P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6785368672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program (Detail) - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Oct. 29, 2018</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_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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Stock Repurchase Program, Remaining Authorized Repurchase Amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 129,688,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 " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodValue', window );">Stock repurchased during period, value</a></td>
<td class="nump">$ 20,954,000<span></span>
</td>
<td class="nump">$ 61,690,000<span></span>
</td>
<td class="nump">$ 142,262,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_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramOctober2018Member', window );">Repurchase Program October 2018 [Member]</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="text">&#160;<span></span>
</td>
<td class="nump">$ 200,000,000<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_StockRepurchaseProgramAggregateNumberofSharesRepurchased', window );">Stock Repurchase Program, Aggregate Number of Shares Repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,601<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_StockRepurchaseProgramValue', window );">Shares repurchased, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 70,312,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 " 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="nump">1,398<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 );">Stock repurchased during period, value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 61,690,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_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, Aggregate Number of Shares Repurchased</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_StockRepurchaseProgramAggregateNumberofSharesRepurchased</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: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_cgnx_StockRepurchaseProgramValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Repurchase Program, 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_StockRepurchaseProgramValue</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_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_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_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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=109259400&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramOctober2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RepurchaseProgramOctober2018Member</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>27
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6781671552">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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</a></td>
<td class="nump">170,744<span></span>
</td>
<td class="nump">172,189<span></span>
</td>
<td class="nump">171,053<span></span>
</td>
<td class="nump">172,613<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="nump">3,705<span></span>
</td>
<td class="nump">5,056<span></span>
</td>
<td class="nump">4,111<span></span>
</td>
<td class="nump">5,408<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</a></td>
<td class="nump">174,449<span></span>
</td>
<td class="nump">177,245<span></span>
</td>
<td class="nump">175,164<span></span>
</td>
<td class="nump">178,021<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://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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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://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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1448-109256<br><br>Reference 2: 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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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_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>28
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6781024384">
<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>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 60,724<span></span>
</td>
<td class="nump">$ 60,724<span></span>
</td>
</tr>
<tr class="re">
<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">52,730<span></span>
</td>
<td class="nump">50,611<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,994<span></span>
</td>
<td class="nump">10,113<span></span>
</td>
</tr>
<tr class="re">
<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 2019</a></td>
<td class="nump">582<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 );">2019</a></td>
<td class="nump">2,185<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 );">2020</a></td>
<td class="nump">2,017<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 );">2021</a></td>
<td class="nump">1,691<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 );">2022</a></td>
<td class="nump">989<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 );">2023</a></td>
<td class="nump">422<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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">108<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">7,994<span></span>
</td>
<td class="nump">10,113<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="re">
<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>Finite-Lived Intangible Assets [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_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="re">
<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="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">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_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">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="ro">
<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>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">13,687<span></span>
</td>
<td class="nump">13,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_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="nump">8,261<span></span>
</td>
<td class="nump">6,619<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">5,426<span></span>
</td>
<td class="nump">7,068<span></span>
</td>
</tr>
<tr class="ro">
<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">5,426<span></span>
</td>
<td class="nump">7,068<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="re">
<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>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">8,607<span></span>
</td>
<td class="nump">8,607<span></span>
</td>
</tr>
<tr class="re">
<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">6,101<span></span>
</td>
<td class="nump">5,716<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">2,506<span></span>
</td>
<td class="nump">2,891<span></span>
</td>
</tr>
<tr class="re">
<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">2,506<span></span>
</td>
<td class="nump">2,891<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="ro">
<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>Finite-Lived Intangible Assets [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_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">370<span></span>
</td>
<td class="nump">370<span></span>
</td>
</tr>
<tr class="ro">
<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">308<span></span>
</td>
<td class="nump">216<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">62<span></span>
</td>
<td class="nump">154<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 62<span></span>
</td>
<td class="nump">$ 154<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://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 http://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_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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-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_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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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://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 http://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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized in the remainder of the fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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_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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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://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 http://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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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://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 http://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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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://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 http://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 expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized during the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest 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://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 http://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 http://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 http://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://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 http://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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6768554608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories - Schedule of Inventories (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 30,283<span></span>
</td>
<td class="nump">$ 42,738<span></span>
</td>
</tr>
<tr class="re">
<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">4,848<span></span>
</td>
<td class="nump">3,435<span></span>
</td>
</tr>
<tr class="ro">
<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">30,133<span></span>
</td>
<td class="nump">37,109<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">$ 65,264<span></span>
</td>
<td class="nump">$ 83,282<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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=27011343&amp;loc=d3e100047-122729<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)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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>30
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6784667616">
<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 (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</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>
<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">$ 105,620<span></span>
</td>
<td class="nump">$ 104,655<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_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</a></td>
<td class="nump">16,081<span></span>
</td>
<td class="nump">3,557<span></span>
</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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">121,701<span></span>
</td>
<td class="nump">108,212<span></span>
</td>
<td class="nump">$ 107,371<span></span>
</td>
<td class="nump">$ 106,582<span></span>
</td>
</tr>
<tr class="re">
<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">292,072<span></span>
</td>
<td class="nump">427,348<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_LongTermInvestments', window );">Non-current investments</a></td>
<td class="nump">504,641<span></span>
</td>
<td class="nump">262,039<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<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">918,414<span></span>
</td>
<td class="nump">797,599<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_FinancialInstrumentAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills</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_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>
<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">105,454<span></span>
</td>
<td class="nump">198,477<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_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">256,615<span></span>
</td>
<td class="nump">32,760<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_FinancialInstrumentAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate Bonds</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_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>
<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">87,209<span></span>
</td>
<td class="nump">137,871<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_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">167,998<span></span>
</td>
<td class="nump">162,566<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_FinancialInstrumentAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities</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_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>
<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">89,576<span></span>
</td>
<td class="nump">78,407<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_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">56,816<span></span>
</td>
<td class="nump">53,631<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_FinancialInstrumentAxis=us-gaap_SovereignDebtMember', window );">Sovereign Debt [Member]</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_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>
<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Current investments</a></td>
<td class="nump">6,300<span></span>
</td>
<td class="nump">8,101<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_FinancialInstrumentAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign Bonds</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_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>
<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">16,000<span></span>
</td>
<td class="nump">6,316<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_FinancialInstrumentAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</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_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>
<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_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">5,905<span></span>
</td>
<td class="nump">5,921<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_FinancialInstrumentAxis=us-gaap_MunicipalBondsMember', window );">Municipal Bonds</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_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>
<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">3,533<span></span>
</td>
<td class="nump">4,492<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_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent', window );">Long-term investments</a></td>
<td class="nump">$ 1,307<span></span>
</td>
<td class="nump">$ 845<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_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://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 http://asc.fasb.org/extlink&amp;oid=109979856&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 net 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://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 http://asc.fasb.org/extlink&amp;oid=109979856&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://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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3044-108585<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 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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://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.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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=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_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>
<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=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782944848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,283</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>42,738</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Work-in-process</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,848</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,435</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,133</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,109</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,264</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>83,282</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://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>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775267632">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Disclosure of Compensation Related Costs, Share-based Payments [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_CompensationRelatedCostsGeneralTextBlock', window );">Stock-Based Compensation Expense</a></td>
<td class="text">Stock-Based Compensation Expense<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs).  As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company had </span><span style="font-family:Arial;font-size:10pt;"><span>17,350,152</span></span><span style="font-family:Arial;font-size:10pt;"> shares available for grant.  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><span style="font-family:Arial;font-size:10pt;">four</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;"><span>five years</span></span><span style="font-family:Arial;font-size:10pt;"> based upon continuous service and expire </span><span style="font-family:Arial;font-size:10pt;"><span>ten years</span></span><span style="font-family:Arial;font-size:10pt;"> from the grant date.  RSUs generally vest upon </span><span style="font-family:Arial;font-size:10pt;">three</span><span style="font-family:Arial;font-size:10pt;"> years of continuous employment or incrementally over such three-year period.  Participants are not entitled to dividends on RSUs. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock Options</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="13"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,789</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31.73</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,879</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>51.22</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercised</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,475</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21.53</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(726</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>41.79</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Outstanding as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>14,467</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>36.14</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>203,774</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Exercisable as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,714</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>25.33</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.73</span></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>134,913</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of September 29, 2019 (1)</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,116</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>34.90</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7.04</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>199,066</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of stock options granted in each period presented were estimated using the following weighted-average assumptions:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:37%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Risk-free rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2.7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2.9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected dividend yield</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>0.39</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>0.32</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected volatility</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>37</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>39</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Expected term (in years)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.4</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5.2</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5.3</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The expected term was derived from the binomial lattice model from the impact of events that trigger exercises over time.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$18.42</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$22.52</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The weighted-average grant-date fair values of stock options granted during the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$18.58</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$21.70</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$5,746,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$17,985,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total intrinsic values of stock options exercised for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$42,545,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$50,975,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$1,213,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$997,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$32,072,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$27,557,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.   </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Restricted Stock Units (RSUs)</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost was then amortized over the period of vesting until the restrictions lapsed. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's RSUs activity for the nine-month period ended September&#160;29, 2019: </span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="7"/></tr><tr><td style="width:67%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Date    Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Granted</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>75</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Vested</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Forfeited or expired</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Nonvested as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>75</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45.20</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September&#160;29, 2019 were </span><span style="font-family:Arial;font-size:10pt;">$45.20</span><span style="font-family:Arial;font-size:10pt;">.  There were no RSUs vested for the three or nine-month periods ended September&#160;29, 2019.  There were no RSUs granted or vested in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Stock-Based Compensation Expense</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </span><span style="font-family:Arial;font-size:10pt;"><span>two</span></span><span style="font-family:Arial;font-size:10pt;"> groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of </span><span style="font-family:Arial;font-size:10pt;"><span>9%</span></span><span style="font-family:Arial;font-size:10pt;"> to all equity awards for senior management and a rate of </span><span style="font-family:Arial;font-size:10pt;"><span>12%</span></span><span style="font-family:Arial;font-size:10pt;"> for all other employees.  Each year during the first quarter, the Company revises its estimated forfeiture rate.  This resulted in a decrease to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$499,000</span></span><span style="font-family:Arial;font-size:10pt;"> in 2019 and an increase to compensation expense of </span><span style="font-family:Arial;font-size:10pt;"><span>$1,283,000</span></span><span style="font-family:Arial;font-size:10pt;"> in 2018.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was </span><span style="font-family:Arial;font-size:10pt;"><span>$59,708,000</span></span><span style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </span><span style="font-family:Arial;font-size:10pt;"><span>1.60</span></span><span style="font-family:Arial;font-size:10pt;"> years.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$10,194,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,804,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$9,143,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,654,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$33,442,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$5,839,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively, and for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;"> were </span><span style="font-family:Arial;font-size:10pt;"><span>$31,339,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$5,608,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  </span><span style="font-family:Arial;font-size:10pt;"><span>No</span></span><span style="font-family:Arial;font-size:10pt;"> compensation expense was capitalized as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> or </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:38%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cost of revenue</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>334</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>544</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,114</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,898</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Research, development, and engineering</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,616</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,197</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>11,633</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,166</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,244</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,402</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>20,695</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>18,275</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,194</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,143</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>33,442</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,339</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_CompensationRelatedCostsGeneralTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items.  Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related 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 710<br> -URI http://asc.fasb.org/topic&amp;trid=2127225<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationRelatedCostsGeneralTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783027568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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 Events<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>195</span></span><span style="font-family:Arial;font-size:10pt;"> million.  The total consideration included cash payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>171</span></span><span style="font-family:Arial;font-size:10pt;"> million upon closing.  The remaining consideration consists of deferred payments of approximately $</span><span style="font-family:Arial;font-size:10pt;"><span>24</span></span><span style="font-family:Arial;font-size:10pt;"> million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period.  Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $</span><span style="font-family:Arial;font-size:10pt;"><span>171</span></span><span style="font-family:Arial;font-size:10pt;"> million of consideration that is not related to employment.  Transaction costs incurred to date were not material and were expensed as incurred.  The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.</span></div><span style="font-family:Arial;font-size:10pt;">On October 28, 2019, the Company&#8217;s Board of Directors declared a cash dividend of </span><span style="font-family:Arial;font-size:10pt;"><span>$0.055</span></span><span style="font-family:Arial;font-size:10pt;"> per share.  The dividend is payable on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap">November 29, 2019</span></span></span><span style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </span><span style="font-family:Arial;font-size:10pt;"><span><span style="white-space:nowrap">November 15, 2019</span></span></span>.<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6781432368">
<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 (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 10,194<span></span>
</td>
<td class="nump">$ 9,143<span></span>
</td>
<td class="nump">$ 33,442<span></span>
</td>
<td class="nump">$ 31,339<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">334<span></span>
</td>
<td class="nump">544<span></span>
</td>
<td class="nump">1,114<span></span>
</td>
<td class="nump">1,898<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,616<span></span>
</td>
<td class="nump">3,197<span></span>
</td>
<td class="nump">11,633<span></span>
</td>
<td class="nump">11,166<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">$ 6,244<span></span>
</td>
<td class="nump">$ 5,402<span></span>
</td>
<td class="nump">$ 20,695<span></span>
</td>
<td class="nump">$ 18,275<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>Represents the expense recognized during the period arising from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments) with employees, directors and certain consultants qualifying for treatment as employees.</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 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&amp;loc=d3e5047-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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<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 (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>35
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783959872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Detail) - shares<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Stock options to purchase anti-dilutive common stock</a></td>
<td class="nump">6,078,000<span></span>
</td>
<td class="nump">2,796,000<span></span>
</td>
<td class="nump">5,695,000<span></span>
</td>
<td class="nump">2,353,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_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://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> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R9999.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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782944848">
<tr>
<th class="tl" colspan="1">Label</th>
<th class="tl"><strong>Element</strong></th>
<th class="th" colspan="1">Value</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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative Effect of New Accounting Principle in Period of Adoption</a></td>
<td class="th" style="border-bottom: 0px;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
<td class="num">$ (5,961,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_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember', window );">Retained Earnings [Member]</a></td>
<td class="th" style="border-bottom: 0px;"></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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Cumulative Effect of New Accounting Principle in Period of Adoption</a></td>
<td class="th" style="border-bottom: 0px;">us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
<td class="num">$ (5,961,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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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) to equity or (increase) decrease to net assets, resulting from the cumulative effect adjustment of a new accounting principle applied in the period of adoption.</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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption</td>
</tr>
<tr>
<td style="padding-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_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_StatementEquityComponentsAxis=us-gaap_RetainedEarningsMember</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>38
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6780947776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Jan. 01, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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>
<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">$ 16,167<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 16,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>
</tr>
<tr class="re">
<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, right-of-use asset</a></td>
<td class="nump">15,806<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,806<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,522<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_OperatingLeaseLiabilityCurrent', window );">Operating lease, liability, current</a></td>
<td class="nump">5,445<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,445<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,736<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_OperatingLeaseLiabilityNoncurrent', window );">Operating lease, liability, noncurrent</a></td>
<td class="nump">10,722<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,722<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,669<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_OperatingLeaseCost', window );">Operating lease, cost</a></td>
<td class="nump">1,749<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,976<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_OperatingLeasePayments', window );">Operating lease, payments</a></td>
<td class="nump">1,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,778<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_LeaseCost', window );">Lease, cost</a></td>
<td class="nump">$ 22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 255<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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Lease, Weighted Average Discount Rate, Percent</a></td>
<td class="nump">480.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">480.00%<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_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Lease, Weighted Average Remaining Lease Term</a></td>
<td class="text">3 years 7 months 6 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years 7 months 6 days<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_OperatingLeaseLeaseIncome', window );">Operating Lease, Lease Income</a></td>
<td class="nump">$ 76<span></span>
</td>
<td class="nump">$ 77<span></span>
</td>
<td class="nump">$ 234<span></span>
</td>
<td class="nump">$ 236<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_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 http://asc.fasb.org/extlink&amp;oid=77888426&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 http://asc.fasb.org/extlink&amp;oid=77888399&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_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 http://asc.fasb.org/extlink&amp;oid=77888399&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 http://asc.fasb.org/extlink&amp;oid=77888426&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_OperatingLeaseLeaseIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 operating lease income from lease payments and variable lease payments paid and payable to lessor. Includes, but is not limited to, variable lease payments not included in measurement of lease 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 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919372-209981<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=77888421&amp;loc=SL77919311-209978<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6A<br> -URI http://asc.fasb.org/extlink&amp;oid=109225645&amp;loc=SL77927221-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLeaseIncome</td>
</tr>
<tr>
<td style="padding-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_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 http://asc.fasb.org/extlink&amp;oid=77888419&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_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 http://asc.fasb.org/extlink&amp;oid=77888419&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 http://asc.fasb.org/extlink&amp;oid=77888419&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_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 http://asc.fasb.org/extlink&amp;oid=77888419&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 http://asc.fasb.org/extlink&amp;oid=77888426&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 http://asc.fasb.org/extlink&amp;oid=77888419&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 http://asc.fasb.org/extlink&amp;oid=77888426&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 http://asc.fasb.org/extlink&amp;oid=77888399&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>num: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 http://asc.fasb.org/extlink&amp;oid=77888399&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 http://asc.fasb.org/extlink&amp;oid=77888426&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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6784015280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 29, 2019 </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">$ 794,031<span></span>
</td>
</tr>
<tr class="re">
<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">2,889<span></span>
</td>
</tr>
<tr class="ro">
<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">(207)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">796,713<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(25)<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 | 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">5,930<span></span>
</td>
</tr>
<tr class="ro">
<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">(25)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">5,905<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="ro">
<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(91)<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="re">
<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">105,254<span></span>
</td>
</tr>
<tr class="re">
<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">212<span></span>
</td>
</tr>
<tr class="ro">
<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">(12)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">105,454<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="re">
<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">255,441<span></span>
</td>
</tr>
<tr class="re">
<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">1,253<span></span>
</td>
</tr>
<tr class="ro">
<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">(79)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">256,615<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(53)<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">86,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">87,209<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">167,464<span></span>
</td>
</tr>
<tr class="ro">
<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">584<span></span>
</td>
</tr>
<tr class="re">
<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">(50)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">167,998<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(24)<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">89,226<span></span>
</td>
</tr>
<tr class="re">
<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">359<span></span>
</td>
</tr>
<tr class="ro">
<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">(9)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">89,576<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">56,636<span></span>
</td>
</tr>
<tr class="re">
<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">195<span></span>
</td>
</tr>
<tr class="ro">
<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">(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_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">56,816<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(12)<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 | 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">6,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">14<span></span>
</td>
</tr>
<tr class="re">
<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="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_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">6,300<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">15,969<span></span>
</td>
</tr>
<tr class="ro">
<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">43<span></span>
</td>
</tr>
<tr class="re">
<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">(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_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">16,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_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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(2)<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">3,535<span></span>
</td>
</tr>
<tr class="re">
<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">(2)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">3,533<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 | 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">1,300<span></span>
</td>
</tr>
<tr class="re">
<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">7<span></span>
</td>
</tr>
<tr class="ro">
<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="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_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">$ 1,307<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 http://asc.fasb.org/extlink&amp;oid=82897076&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 http://asc.fasb.org/extlink&amp;oid=82897076&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 http://asc.fasb.org/extlink&amp;oid=82897076&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_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_AvailableForSaleSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 and equity securities categorized neither as held-to-maturity nor trading.</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_AvailableForSaleSecurities</td>
</tr>
<tr>
<td style="padding-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=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_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_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_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_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_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>40
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775480624">
<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">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 29, 2019 </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">$ 4,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_ProductWarrantyAccrualWarrantiesIssued', window );">Provisions for warranties issued during the period</a></td>
<td class="nump">3,301<span></span>
</td>
</tr>
<tr class="ro">
<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">(2,770)<span></span>
</td>
</tr>
<tr class="re">
<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,274<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 http://asc.fasb.org/extlink&amp;oid=6876686&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 http://asc.fasb.org/extlink&amp;oid=68068213&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 http://asc.fasb.org/extlink&amp;oid=68068213&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 http://asc.fasb.org/extlink&amp;oid=68068213&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 http://asc.fasb.org/extlink&amp;oid=68068213&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>41
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782541424">
<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">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 29, 2019 </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, 2018</a></td>
<td class="nump">$ 9,845<span></span>
</td>
</tr>
<tr class="re">
<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 );">Increases to deferred revenue and customer deposits</a></td>
<td class="nump">37,351<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="num">(36,517)<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">(248)<span></span>
</td>
</tr>
<tr class="ro">
<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 September 29, 2019</a></td>
<td class="nump">$ 10,431<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 revenue as of balance sheet date. Deferred revenue represents collections of cash or other assets 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_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>43
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6773103104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Detail)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 2019</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">45 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_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>44
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6779904704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 469<span></span>
</td>
<td class="nump">$ 299<span></span>
</td>
<td class="nump">$ 535<span></span>
</td>
<td class="num">$ (366)<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 http://asc.fasb.org/extlink&amp;oid=109980867&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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789548528">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense at U.S. federal statutory corporate tax rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Tax credit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to Tax Act 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock options</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(5</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other discrete tax events</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775223104">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,743</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,301</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2,770</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,274</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://asc.fasb.org/extlink&amp;oid=68068213&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>nonnum: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>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>48
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6657312480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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>
<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_AvailableForSaleSecuritiesGrossRealizedGains', window );">Gross realized gains on sale of investments</a></td>
<td class="nump">$ 361,000<span></span>
</td>
<td class="nump">$ 283,000<span></span>
</td>
<td class="nump">$ 818,000<span></span>
</td>
<td class="nump">$ 646,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_AvailableForSaleSecuritiesGrossRealizedLosses', window );">Gross realized losses on sale of investments</a></td>
<td class="nump">$ 67,000<span></span>
</td>
<td class="nump">$ 17,000<span></span>
</td>
<td class="nump">$ 103,000<span></span>
</td>
<td class="nump">$ 111,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_AvailableForSaleSecuritiesGrossRealizedGains">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gross profit realized on the sale of debt or equity securities 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;">us-gaap_AvailableForSaleSecuritiesGrossRealizedGains</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesGrossRealizedLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gross loss realized on the sale of debt or equity securities 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;">us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783024496">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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>
</tr>
<tr class="ro">
<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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:50%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><br/>Unobservable<br/>Inputs                                                                                                                                                                             (Level 3)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s debt securities and forward contracts are reported at fair value based upon 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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:85%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,554</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,646</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the three-month or </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">.</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 820<br> -URI http://asc.fasb.org/topic&amp;trid=2155941<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6780289776">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax', window );">Tax effect of unrealized gain (loss) on available-for-sale investments</a></td>
<td class="num">$ (5)<span></span>
</td>
<td class="nump">$ 24<span></span>
</td>
<td class="nump">$ 502<span></span>
</td>
<td class="num">$ (82)<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 of tax expense (benefit) before reclassification adjustments of unrealized holding gain (loss) on 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=114867106&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>51
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775227360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:6px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:53%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,261</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,426</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,506</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>370</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>308</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>62</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>52,730</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;height:12px;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:inherit;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</span></div><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Distribution networks</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>38,060</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Completed technologies</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>13,687</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,619</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,068</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Customer relationships</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,607</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,716</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,891</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-compete agreements</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>370</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>216</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>154</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>60,724</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>50,611</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>10,113</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, estimated future amortization expense related to intangible assets is as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:82%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:15%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>582</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,185</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,017</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,691</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>989</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>422</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>7,994</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -URI http://asc.fasb.org/topic&amp;trid=2144416<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>52
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6948069856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover Page<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 29, 2019 </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 page.</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">Sep. 29,  2019<span></span>
</td>
</tr>
<tr 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_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">2019<span></span>
</td>
</tr>
<tr 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">Q3<span></span>
</td>
</tr>
<tr 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>
<tr 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_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr 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_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">04-2713778<span></span>
</td>
</tr>
<tr 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_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Vision Drive<span></span>
</td>
</tr>
<tr 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_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Natick<span></span>
</td>
</tr>
<tr 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_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">MA<span></span>
</td>
</tr>
<tr 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_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">01760<span></span>
</td>
</tr>
<tr 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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">508<span></span>
</td>
</tr>
<tr 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_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">650-3000<span></span>
</td>
</tr>
<tr 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_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="ro">
<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="re">
<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="ro">
<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">170,897,294<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 CCYY 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>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-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 13<br> -Subsection a-13<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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 Regulation 12B<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 Regulation 12B<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 Regulation 12B<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 Regulation 12B<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 Regulation 12B<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 Regulation 12B<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 Regulation 12B<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>53
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6948008944">
<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>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 121,701<span></span>
</td>
<td class="nump">$ 108,212<span></span>
</td>
</tr>
<tr class="re">
<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">292,072<span></span>
</td>
<td class="nump">427,348<span></span>
</td>
</tr>
<tr class="ro">
<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, less reserves of $1,874 and $1,646 in 2019 and 2018, respectively</a></td>
<td class="nump">107,407<span></span>
</td>
<td class="nump">119,172<span></span>
</td>
</tr>
<tr class="re">
<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">11,210<span></span>
</td>
<td class="nump">8,312<span></span>
</td>
</tr>
<tr class="ro">
<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">65,264<span></span>
</td>
<td class="nump">83,282<span></span>
</td>
</tr>
<tr class="re">
<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">28,127<span></span>
</td>
<td class="nump">34,000<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">625,781<span></span>
</td>
<td class="nump">780,326<span></span>
</td>
</tr>
<tr class="re">
<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">504,641<span></span>
</td>
<td class="nump">262,039<span></span>
</td>
</tr>
<tr class="ro">
<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">88,429<span></span>
</td>
<td class="nump">91,396<span></span>
</td>
</tr>
<tr class="re">
<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, Right-of-Use Asset</a></td>
<td class="nump">15,806<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_Goodwill', window );">Goodwill</a></td>
<td class="nump">113,208<span></span>
</td>
<td class="nump">113,208<span></span>
</td>
</tr>
<tr class="re">
<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">7,994<span></span>
</td>
<td class="nump">10,113<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNetNoncurrent', window );">Deferred income taxes</a></td>
<td class="nump">29,273<span></span>
</td>
<td class="nump">28,660<span></span>
</td>
</tr>
<tr class="re">
<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">5,320<span></span>
</td>
<td class="nump">3,925<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,390,452<span></span>
</td>
<td class="nump">1,289,667<span></span>
</td>
</tr>
<tr class="re">
<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">12,766<span></span>
</td>
<td class="nump">16,230<span></span>
</td>
</tr>
<tr class="re">
<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">48,561<span></span>
</td>
<td class="nump">60,220<span></span>
</td>
</tr>
<tr class="ro">
<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">4,012<span></span>
</td>
<td class="nump">5,062<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue and customer deposits</a></td>
<td class="nump">10,431<span></span>
</td>
<td class="nump">9,845<span></span>
</td>
</tr>
<tr class="ro">
<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, Liability, Current</a></td>
<td class="nump">5,445<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_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">81,215<span></span>
</td>
<td class="nump">91,357<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">10,722<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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">289<span></span>
</td>
<td class="nump">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_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes</a></td>
<td class="nump">7,151<span></span>
</td>
<td class="nump">7,106<span></span>
</td>
</tr>
<tr class="re">
<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">51,113<span></span>
</td>
<td class="nump">51,113<span></span>
</td>
</tr>
<tr class="ro">
<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">744<span></span>
</td>
<td class="nump">3,866<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">151,234<span></span>
</td>
<td class="nump">154,404<span></span>
</td>
</tr>
<tr class="ro">
<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, Value, Outstanding</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_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="ro">
<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 2019 and 2018, respectively, issued and outstanding: 170,897 and 170,820 shares in 2019 and 2018, respectively</a></td>
<td class="nump">342<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="re">
<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">594,427<span></span>
</td>
<td class="nump">529,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_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">682,383<span></span>
</td>
<td class="nump">646,214<span></span>
</td>
</tr>
<tr class="re">
<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">(37,934)<span></span>
</td>
<td class="num">(40,501)<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,239,218<span></span>
</td>
<td class="nump">1,135,263<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,390,452<span></span>
</td>
<td class="nump">$ 1,289,667<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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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 due from customers or clients, within one year of the balance sheet date (or the normal operating cycle, whichever is longer), for goods or services (including trade receivables) that have been delivered or sold in the normal course of business, reduced to the estimated net realizable fair value by an allowance established by the entity of the amount it deems uncertain of collection.</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 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130549-203045<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(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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 http://asc.fasb.org/extlink&amp;oid=6876686&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=84230637&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6879938&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 http://asc.fasb.org/extlink&amp;oid=6879938&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 http://asc.fasb.org/extlink&amp;oid=6876686&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=d3e637-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 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669686-108580<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 14<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6876686&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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<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)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6801-107765<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.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://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 http://asc.fasb.org/extlink&amp;oid=109979856&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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3044-108585<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 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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://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 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-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_DeferredRevenueAndCreditsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such 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://fasb.org/us-gaap/role/ref/otherTransitionRef<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 http://asc.fasb.org/extlink&amp;oid=6877327&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_DeferredRevenueAndCreditsCurrent</td>
</tr>
<tr>
<td style="padding-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_DeferredTaxAssetsNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of deferred tax asset attributable to deductible temporary differences and carryforwards 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 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31928-109318<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31958-109318<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 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31917-109318<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=84176650&amp;loc=d3e31931-109318<br><br>Reference 5: 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 2<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-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_DeferredTaxAssetsNetNoncurrent</td>
</tr>
<tr>
<td style="padding-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_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://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 http://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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<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 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=68049868&amp;loc=d3e3927-108312<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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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://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 http://asc.fasb.org/extlink&amp;oid=6876686&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)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&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(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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://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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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://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.12)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=77888419&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 http://asc.fasb.org/extlink&amp;oid=77888419&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 http://asc.fasb.org/extlink&amp;oid=77888419&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://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.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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://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(7))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<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(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<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)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&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 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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 http://asc.fasb.org/extlink&amp;oid=6877327&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 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879938&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 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&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_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://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 http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<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(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_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>54
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.19.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>176</ContextCount>
  <ElementCount>382</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>56</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>11</UnitCount>
  <MyReports>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1001000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1002000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1002501 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1003000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1003501 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>1004000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>1005000 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>1005501 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2101100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2103100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2104100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2105100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2106100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2109100 - 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-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2110100 - Disclosure - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssets</Role>
      <ShortName>Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2111100 - Disclosure - Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligations</Role>
      <ShortName>Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2112100 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2113100 - Disclosure - Revenue Recognition</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/RevenueRecognition</Role>
      <ShortName>Revenue Recognition</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2115100 - 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>20</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2116100 - 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>21</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2119100 - Disclosure - Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Taxes</Role>
      <ShortName>Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2120100 - 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>23</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2121100 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2201201 - 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>25</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2304301 - 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>26</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2305301 - 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>27</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2306301 - 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>28</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2309301 - 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>29</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2310301 - 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>30</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2311301 - 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>31</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2312301 - 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>32</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2313301 - 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>33</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2315301 - 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>34</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2319301 - Disclosure - Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesTables</Role>
      <ShortName>Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.cognex.com/role/Taxes</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2320301 - 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>36</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2404402 - Disclosure - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail</Role>
      <ShortName>Fair Value Measurements - Assets and Liabilities Measured at Fair Value on a Recurring Basis (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2404403 - Disclosure - Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails</Role>
      <ShortName>Fair Value Measurements - Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2405402 - Disclosure - Cash, Cash Equivalents, and Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2405403 - Disclosure - Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Components of Cash, Cash Equivalents, and Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2405404 - Disclosure - Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Summary of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2405405 - Disclosure - Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Gross Unrealized Losses and Fair Values for Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2405406 - Disclosure - Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail</Role>
      <ShortName>Cash, Cash Equivalents, and Investments - Effective Maturity Dates of Available-for-Sale Investments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Inventories - Schedule of Inventories (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail</Role>
      <ShortName>Inventories - Schedule of Inventories (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2409402 - 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>45</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2409403 - 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>46</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2409404 - Disclosure - Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/LeasesFutureMinimumRentalReceiptsUnderNonCancelableLeaseAgreementsDetails</Role>
      <ShortName>Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2410402 - 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>48</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2411402 - 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>49</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2412402 - Disclosure - Derivative Instruments (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDetail</Role>
      <ShortName>Derivative Instruments (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/DerivativeInstrumentsTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2412403 - Disclosure - Derivative Instruments - Outstanding Forward Contracts Table (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail</Role>
      <ShortName>Derivative Instruments - Outstanding Forward Contracts Table (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2412404 - Disclosure - Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail</Role>
      <ShortName>Derivative Instruments - Schedule of Derivative Instruments in Statement of Financial Position, Fair Value (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Derivative Instruments - Offsetting Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail</Role>
      <ShortName>Derivative Instruments - Offsetting Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2412406 - Disclosure - Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail</Role>
      <ShortName>Derivative Instruments - Derivative Instruments, Gain (Loss) (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2413402 - 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>55</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2413403 - 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>56</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2413404 - 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>57</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2413405 - 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>58</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>2415402 - Disclosure - Stock-Based Compensation Expense (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseDetail</Role>
      <ShortName>Stock-Based Compensation Expense (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockBasedCompensationExpenseTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>2415403 - Disclosure - Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>2415404 - Disclosure - Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Weighted-Average Assumptions Used in Estimating Fair Values of Stock Options Granted (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>2415405 - Disclosure - Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail</Role>
      <ShortName>Stock-Based Compensation Expense - Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>2416401 - Disclosure - Stock Repurchase Program (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockRepurchaseProgramDetail</Role>
      <ShortName>Stock Repurchase Program (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/StockRepurchaseProgram</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>2419402 - Disclosure - Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail</Role>
      <ShortName>Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>2419403 - Disclosure - Taxes (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/TaxesDetail</Role>
      <ShortName>Taxes (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/TaxesTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>2420402 - Disclosure - Weighted-Average Shares (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesDetail</Role>
      <ShortName>Weighted-Average Shares (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.cognex.com/role/WeightedAverageSharesTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>2420403 - Disclosure - Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail</Role>
      <ShortName>Weighted-Average Shares - Calculation of Weighted-Average Shares (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>2421401 - 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>68</Position>
    </Report>
    <Report instance="cgnx-9292019x10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9999.htm</HtmlFileName>
      <LongName>Uncategorized Items - cgnx-9292019x10q.htm</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/role/uncategorizedFacts</Role>
      <ShortName>Uncategorized Items - cgnx-9292019x10q.htm</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>69</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-9292019x10q.htm">cgnx-9292019x10q.htm</File>
    <File>a9292019-10qxexhibit311.htm</File>
    <File>a9292019-10qxexhibit312.htm</File>
    <File>a9292019-10qxexhibit321.htm</File>
    <File>a9292019-10qxexhibit322.htm</File>
    <File>cgnx-20190929.xsd</File>
    <File>cgnx-20190929_cal.xml</File>
    <File>cgnx-20190929_def.xml</File>
    <File>cgnx-20190929_lab.xml</File>
    <File>cgnx-20190929_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/srt/2018-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2018-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/country/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/currency/2017-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775267632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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 );">Taxes</a></td>
<td class="text">Taxes<div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">A reconciliation of the United States federal statutory corporate tax rate to the Company&#8217;s income tax expense, or effective tax rate, was as follows:</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense at U.S. federal statutory corporate tax rate</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Tax credit</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to Tax Act 2017</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock options</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(4</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(5</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other discrete tax events</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(3</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)%</span></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Income tax expense</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>12</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;%</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.  The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">States, Ireland, and China.  The statutory tax rate is </span><span style="font-family:Arial;font-size:10pt;"><span>12.5%</span></span><span style="font-family:Arial;font-size:10pt;"> in Ireland and </span><span style="font-family:Arial;font-size:10pt;"><span>25%</span></span><span style="font-family:Arial;font-size:10pt;"> in China, compared to the U.S. federal statutory corporate tax rate of </span><span style="font-family:Arial;font-size:10pt;"><span>21%</span></span><span style="font-family:Arial;font-size:10pt;">.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>7</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points</span><span style="font-family:Arial;font-size:10pt;font-weight:bold;"> </span><span style="font-family:Arial;font-size:10pt;">for all periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 resulted in a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>1</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>4</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively, and a decrease in the effective tax rate by </span><span style="font-family:Arial;font-size:10pt;"><span>3</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>5</span></span><span style="font-family:Arial;font-size:10pt;"> percentage points for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">During the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, the Company recorded a </span><span style="font-family:Arial;font-size:10pt;"><span>$37,000</span></span><span style="font-family:Arial;font-size:10pt;"> increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled </span><span style="font-family:Arial;font-size:10pt;"><span>$50,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the </span><span style="font-family:Arial;font-size:10pt;">nine</span><span style="font-family:Arial;font-size:10pt;">-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </span><span style="font-family:Arial;font-size:10pt;"><span>$8,179,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, which included </span><span style="font-family:Arial;font-size:10pt;"><span>$7,151,000</span></span><span style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </span><span style="font-family:Arial;font-size:10pt;"><span>$1,028,000</span></span><span style="font-family:Arial;font-size:10pt;"> recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </span><span style="font-family:Arial;font-size:10pt;"><span>$918,000</span></span><span style="font-family:Arial;font-size:10pt;">.  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.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately </span><span style="font-family:Arial;font-size:10pt;"><span>$1,300,000</span></span><span style="font-family:Arial;font-size:10pt;"> to </span><span style="font-family:Arial;font-size:10pt;"><span>$1,400,000</span></span><span style="font-family:Arial;font-size:10pt;"> over the next twelve months.</span></div><span style="font-family:Arial;font-size:10pt;">The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts.  Within the United States, the tax years </span><span style="font-family:Arial;font-size:10pt;"><span>2016 through 2018</span></span><span style="font-family:Arial;font-size:10pt;"> remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </span><span style="font-family:Arial;font-size:10pt;"><span>2015 through 2018</span></span> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.<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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>56
<FILENAME>cgnx-9292019x10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cgnx="http://www.cognex.com/20190929"
  xmlns:country="http://xbrl.sec.gov/country/2017-01-31"
  xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2018-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cgnx-20190929.xsd" xlink:type="simple"/>
    <context id="FD2019Q3YTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FD2019Q3QTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FI2018Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2018-09-30</instant>
        </period>
    </context>
    <context id="FI2017Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2017-12-31</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2018-09-30</instant>
        </period>
    </context>
    <context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2018-09-30</instant>
        </period>
    </context>
    <context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-09-30</instant>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2017-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2018-09-30</instant>
        </period>
    </context>
    <context id="I2018Q1Jan1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-01-01</instant>
        </period>
    </context>
    <context id="I2018Q1Jan1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2018-01-01</instant>
        </period>
    </context>
    <context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2018-07-01</instant>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <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>2018-07-01</instant>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember">
        <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>2018-07-01</instant>
        </period>
    </context>
    <context id="FI2018Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2018-07-01</instant>
        </period>
    </context>
    <context id="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember">
        <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>2018-07-01</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:GViVenturesInc.Member</xbrldi:explicitMember>
                <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>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:ChiaroTechnologiesLLCMember</xbrldi:explicitMember>
                <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>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="I2019Q1Jan01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <instant>2019-01-01</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FI2018Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2018-12-31</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_StatementGeographicalAxis_country_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_StatementGeographicalAxis_country_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_StatementGeographicalAxis_country_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_StatementGeographicalAxis_country_CN">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">cgnx:AsiaExcludingChinaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:ApplicationSpecificCustomerSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cgnx:StandardProductsandServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
        <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>2018-07-02</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember">
        <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>2018-01-01</startDate>
            <endDate>2018-09-30</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember">
        <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>2019-07-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q1QTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="FD2018Q1QTD">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
        </entity>
        <period>
            <startDate>2018-01-01</startDate>
            <endDate>2018-04-01</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember">
        <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>2019-09-29</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_srt_RangeAxis_srt_MinimumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-29</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="I2018Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramOctober2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-10-29</instant>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember">
        <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>2019-01-01</startDate>
            <endDate>2019-09-29</endDate>
        </period>
    </context>
    <context id="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:SualabCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-10-16</startDate>
            <endDate>2019-10-16</endDate>
        </period>
    </context>
    <context id="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
        <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>2019-10-28</startDate>
            <endDate>2019-10-28</endDate>
        </period>
    </context>
    <context id="I2019Q3_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000851205</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cgnx:SualabCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-10-16</instant>
        </period>
    </context>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="eur">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="cad">
        <measure>iso4217:CAD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="sgd">
        <measure>iso4217:SGD</measure>
    </unit>
    <unit id="iso4217_JPY">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="iso4217_KRW">
        <measure>iso4217:KRW</measure>
    </unit>
    <unit id="twd">
        <measure>iso4217:TWD</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="group">
        <measure>cgnx:group</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="FD2019Q3YTD"
      id="Fact-F8AE4962E7FC5C1F96F9EA14A7F8556C-wk-Fact-F8AE4962E7FC5C1F96F9EA14A7F8556C">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="FD2019Q3YTD"
      id="Fact-9B06F0E888C95006B2056B442CD7296F-wk-Fact-9B06F0E888C95006B2056B442CD7296F">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus
      contextRef="FD2019Q3YTD"
      id="Fact-4D919986E170596C857C31F388C82ECC-wk-Fact-4D919986E170596C857C31F388C82ECC">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus
      contextRef="FD2019Q3YTD"
      id="Fact-50B6FCDE262A5CF4BF935E1DF2A5390F-wk-Fact-50B6FCDE262A5CF4BF935E1DF2A5390F">2019</dei:DocumentFiscalYearFocus>
    <dei:EntityCentralIndexKey
      contextRef="FD2019Q3YTD"
      id="Fact-6FA0C65414135870A636FC9801E9CA33-wk-Fact-6FA0C65414135870A636FC9801E9CA33">0000851205</dei:EntityCentralIndexKey>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="Fact-969A45509CB35C8A936E7161FF954F55-wk-Fact-969A45509CB35C8A936E7161FF954F55"
      unitRef="usd">1646000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="Fact-7E50491D07FC5F4AAD0D6D42A15F6154-wk-Fact-7E50491D07FC5F4AAD0D6D42A15F6154"
      unitRef="usd">1874000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="FI2018Q4"
      decimals="INF"
      id="Fact-3AFCF9BC64595CB9AF815E76F65755D0-wk-Fact-3AFCF9BC64595CB9AF815E76F65755D0"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="FI2019Q3"
      decimals="INF"
      id="Fact-2039E9A8EC6650618DAA4CEAC217B556-wk-Fact-2039E9A8EC6650618DAA4CEAC217B556"
      unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="FI2018Q4"
      decimals="INF"
      id="Fact-80AB3814D138543DADFC6E673CCC8380-wk-Fact-80AB3814D138543DADFC6E673CCC8380"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="FI2019Q3"
      decimals="INF"
      id="Fact-9E90BC92FBEB5B52BAE9C99302A6D412-wk-Fact-9E90BC92FBEB5B52BAE9C99302A6D412"
      unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2018Q4"
      decimals="-3"
      id="Fact-CD8C867521295FFC804E59C8EEF73152-wk-Fact-CD8C867521295FFC804E59C8EEF73152"
      unitRef="shares">170820000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2019Q3"
      decimals="-3"
      id="Fact-EBABD6C6CD0151C680524D3AE77B1F7A-wk-Fact-EBABD6C6CD0151C680524D3AE77B1F7A"
      unitRef="shares">170897000</us-gaap:CommonStockSharesIssued>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="Fact-29999D1ABBB451E5B8C7F14E2575A2D9-wk-Fact-29999D1ABBB451E5B8C7F14E2575A2D9"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="Fact-1682F669F61153B4B6DE8426E9CB1814-wk-Fact-1682F669F61153B4B6DE8426E9CB1814"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="Fact-FEDB3686918F55D6AE5C254FE39190A2-wk-Fact-FEDB3686918F55D6AE5C254FE39190A2"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="Fact-B59B9CA5CBBF572CA130241D42C29861-wk-Fact-B59B9CA5CBBF572CA130241D42C29861"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="Fact-D4CFFAC5584A5D06B6B403DCDCB72DE7-wk-Fact-D4CFFAC5584A5D06B6B403DCDCB72DE7"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="Fact-0A0CCD41208D5032853BFA77EAAF0401-wk-Fact-0A0CCD41208D5032853BFA77EAAF0401"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="Fact-AD968D01F0EC508191BE21B671CD4DDC-wk-Fact-AD968D01F0EC508191BE21B671CD4DDC"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="Fact-F33FAB9AB0EF58EFB7E65738B4B8000C-wk-Fact-F33FAB9AB0EF58EFB7E65738B4B8000C"
      unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="Fact-9BA2652979155CFFB373B85E372DAE34-wk-Fact-9BA2652979155CFFB373B85E372DAE34"
      unitRef="usd">24000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="Fact-F7D2F3CBE11A54409AC0349E2BECCB12-wk-Fact-F7D2F3CBE11A54409AC0349E2BECCB12"
      unitRef="usd">-82000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="Fact-5E4AC1F3C41E5D98B6E6E75322FAE942-wk-Fact-5E4AC1F3C41E5D98B6E6E75322FAE942"
      unitRef="usd">-5000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="Fact-6CA9AE28511153398E59283760A22D76-wk-Fact-6CA9AE28511153398E59283760A22D76"
      unitRef="usd">502000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="FD2019Q3YTD_srt_RangeAxis_srt_MinimumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember"
      id="Fact-3A7DA4EED5A4597A95802A25A1BDE5BF-wk-Fact-3A7DA4EED5A4597A95802A25A1BDE5BF">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="FD2019Q3YTD"
      id="d19078787e392-wk-Fact-DD7B01DC182D551088EE7D8DF46EC651">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="FD2019Q3YTD"
      id="d19078787e413-wk-Fact-0DEF272D291A56A8A86A0F2F07E009FF">true</dei:DocumentQuarterlyReport>
    <dei:DocumentTransitionReport
      contextRef="FD2019Q3YTD"
      id="d19078787e433-wk-Fact-AB34EA5005305A5E8B11694FB42AB2F2">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="FD2019Q3YTD"
      id="d19078787e446-wk-Fact-12068929E9EB5E71BE600370941ED220">001-34218</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="FD2019Q3YTD"
      id="d19078787e452-wk-Fact-B80549FCE26D5D23A4FF6D23FED71605">COGNEX CORP</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="FD2019Q3YTD"
      id="d19078787e486-wk-Fact-632B9D2774A85C7882EEE6729F3913ED">MA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="FD2019Q3YTD"
      id="d19078787e496-wk-Fact-63867D41AECB54A9BD330727188D7583">04-2713778</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="FD2019Q3YTD"
      id="d19078787e523-wk-Fact-8EB0A1F28FF75F809F70C19ACC0365F0">One Vision Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="FD2019Q3YTD"
      id="d19078787e529-wk-Fact-6F50AE52A15E537A95AEA168699E3FF0">Natick</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="FD2019Q3YTD"
      id="d19078787e534-wk-Fact-26CDB039BDE75D939B20FBB925B0E53C">MA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="FD2019Q3YTD"
      id="d19078787e539-wk-Fact-46B79FF68E145FB187BF18C0503A1626">01760</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="FD2019Q3YTD"
      id="d19078787e547-wk-Fact-B06948AC6E7858D1A2001E3A99BF4573">508</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="FD2019Q3YTD"
      id="d19078787e552-wk-Fact-F1DD6C5021D75E27A3B4152265C2511D">650-3000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="FD2019Q3YTD"
      id="d19078787e605-wk-Fact-C519BB96D3C55AD89CD8E5F7496312C3">Common Stock, par value $.002 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="FD2019Q3YTD"
      id="d19078787e610-wk-Fact-D289B361E5E75A549CD8391B926C3374">CGNX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="FD2019Q3YTD"
      id="d19078787e615-wk-Fact-A32028409DC45283B7614EBA4CF2D0AB">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="FD2019Q3YTD"
      id="d19078787e658-wk-Fact-F44ED12D5C925CD7A2D87B6C2D086D9B">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="FD2019Q3YTD"
      id="d19078787e751-wk-Fact-FBA2BFD3D6FA56538DE8D2968DBCA5AC">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="FD2019Q3YTD"
      id="d19078787e828-wk-Fact-6B8AA36EC4425863A25380AC6C441FAD">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="FD2019Q3YTD"
      id="d19078787e904-wk-Fact-883AFF2380845647BB509D822B55B73B">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="FD2019Q3YTD"
      id="d19078787e945-wk-Fact-2DFAF51BE0515446BBABB039EECC592A">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="FD2019Q3YTD"
      id="d19078787e1039-wk-Fact-A24CFCEE935B5AA7A827478FE251B1D7">false</dei:EntityShellCompany>
    <dei:DocumentPeriodEndDate
      contextRef="FD2019Q3YTD"
      id="d19078787e1090-wk-Fact-3BB1A94311BE5A4A8BFE6960D96E9C02">2019-09-29</dei:DocumentPeriodEndDate>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="FI2019Q3"
      decimals="INF"
      id="d19078787e1094-wk-Fact-F5CCE3F541625DBB8F3F7D87592FDC5E"
      unitRef="shares">170897294</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e634-wk-Fact-D87476BD383254658A0565571FE98076"
      unitRef="usd">183325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e653-wk-Fact-A0B9A3868C4F5663A1427018D1637E20"
      unitRef="usd">232221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e672-wk-Fact-F568A777847051799976291F44866CD6"
      unitRef="usd">555856000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e692-wk-Fact-180D186C103E5E198D3C769752920447"
      unitRef="usd">613052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e707-wk-Fact-AD4AAFEADCF358EFB9069F483342CA4F"
      unitRef="usd">47632000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e726-wk-Fact-D4D0781876A75D92819F7EB1F9BC5F53"
      unitRef="usd">58860000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e745-wk-Fact-AE3DCAF3C3FF5E28AB9B4711F04630E0"
      unitRef="usd">144883000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e765-wk-Fact-09A019FE49DC594DB95C69D4C8B5F20C"
      unitRef="usd">153227000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e785-wk-Fact-76DE9DEC4FA252E281E1C51E8013BC66"
      unitRef="usd">135693000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e804-wk-Fact-C41E6E2698585198AB209D3BEE8B6D36"
      unitRef="usd">173361000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e823-wk-Fact-A459DB2004245A6BBAE679A29B9BE7CE"
      unitRef="usd">410973000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e843-wk-Fact-E8257053858D5BC28B2F5C6E4917BC15"
      unitRef="usd">459825000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e863-wk-Fact-F1386ED61D6F5EB48BA0D8B418464FDA"
      unitRef="usd">28115000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e882-wk-Fact-E8950EE6823352EFBF499BFFF421BC79"
      unitRef="usd">29700000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e901-wk-Fact-F2C9FA11585F5400A6EE5D8899415D62"
      unitRef="usd">86436000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e921-wk-Fact-9D7074526F375361957D97C53328A60A"
      unitRef="usd">87664000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e941-wk-Fact-C79A2C6E392051D8AA5FC319EAF9C65D"
      unitRef="usd">64486000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e960-wk-Fact-33898E7833CF59949FF11B58F9E3BB21"
      unitRef="usd">65817000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e979-wk-Fact-6C33DB61D15355F293F3AE766F2EE21D"
      unitRef="usd">199542000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e999-wk-Fact-6695C14960CD55C099F0B5EE68366B63"
      unitRef="usd">196266000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1019-wk-Fact-84A0602C34165CA58302E571F65DD2E7"
      unitRef="usd">43092000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1038-wk-Fact-E70C7BD9A7705DB6BACB8ACF8763CC7B"
      unitRef="usd">77844000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1057-wk-Fact-719E8FEA947157548D36C354AE5BBB6B"
      unitRef="usd">124995000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1077-wk-Fact-F12D6056A7E95022B726B7AED62AEB16"
      unitRef="usd">175895000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1097-wk-Fact-59307BD2FFCB56A2B0BC7AFA8227190D"
      unitRef="usd">-1295000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1117-wk-Fact-66B51EC7083852F9B14180465B1F74A9"
      unitRef="usd">-379000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1137-wk-Fact-D0F063F825B258F08306F2DA9B59E72D"
      unitRef="usd">-1403000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1158-wk-Fact-DFABEBDAEB815AF19935AA5BF1E781E0"
      unitRef="usd">-708000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1179-wk-Fact-55616B81996054F58E58EE55FD7B6355"
      unitRef="usd">5114000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1198-wk-Fact-5AA7886531A758E4839BABEA472E7A5B"
      unitRef="usd">3937000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1217-wk-Fact-443AAF05A3E65D1D85EDE9B89274B482"
      unitRef="usd">15242000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:InvestmentIncomeNonoperating
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1237-wk-Fact-5F5941788CF2541A8CCCA7CE8514186B"
      unitRef="usd">10736000</us-gaap:InvestmentIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1258-wk-Fact-A9DD21CDBF91577294818C98CB291834"
      unitRef="usd">456000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1277-wk-Fact-BBF21D81BA895D83AAEE29E54D79473C"
      unitRef="usd">-129000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1297-wk-Fact-4C4459B241585DDFAEBCD044E937C86B"
      unitRef="usd">1239000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1317-wk-Fact-BCDE1FD5E994540EA73C3D96C3A18495"
      unitRef="usd">-98000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1338-wk-Fact-6E7A3000CB0C5D76B03F8D20B2E4708A"
      unitRef="usd">47367000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1357-wk-Fact-E4897D368E10555290EA307F52D6711C"
      unitRef="usd">81273000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1376-wk-Fact-3B9F4378BCB951FE960A8E42850DAC3A"
      unitRef="usd">140073000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1396-wk-Fact-729E55B76395597CACED26F86D2D6B9A"
      unitRef="usd">185825000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1416-wk-Fact-73B6EF10ED1E55279292936EC36B3B6C"
      unitRef="usd">5682000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1435-wk-Fact-147AA3DB15635EB9916557927D2808F1"
      unitRef="usd">837000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1454-wk-Fact-BA0486BBDB665C32902F2A1350EA34BB"
      unitRef="usd">16535000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1474-wk-Fact-67ACDC409CC3550A81DD18D4B28C9DF9"
      unitRef="usd">11976000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e1499-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B"
      unitRef="usd">41685000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e1518-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7"
      unitRef="usd">80436000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e1537-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57"
      unitRef="usd">123538000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e1557-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933"
      unitRef="usd">173849000</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19077804e1743-wk-Fact-949A81632EA753EF88DCA654E72859BC"
      unitRef="usdPerShare">0.24</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19077804e1762-wk-Fact-1DEC50115F21507485BB282537839618"
      unitRef="usdPerShare">0.47</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19077804e1781-wk-Fact-9D7EF9B3126D5CAFAFF2B570118B9910"
      unitRef="usdPerShare">0.72</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19077804e1801-wk-Fact-0BF74DFA2F0A560081EBB273C83AA00A"
      unitRef="usdPerShare">1.01</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19077804e1821-wk-Fact-1BA80F33686753CC867A94FA31A514F1"
      unitRef="usdPerShare">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19077804e1840-wk-Fact-87B726036C0956F1A67CA0A7689A9782"
      unitRef="usdPerShare">0.45</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19077804e1859-wk-Fact-21887F73B7F05EA79782579D609ED1E5"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19077804e1879-wk-Fact-76E327C5B2DD556B9AC9C9B92550025A"
      unitRef="usdPerShare">0.98</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e2058-wk-Fact-80A7E07AFF9758B98F85A1BA237B4E2F"
      unitRef="shares">170744000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e2077-wk-Fact-42A1A491372756ADB9A63192E2035B03"
      unitRef="shares">172189000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e2096-wk-Fact-18AF80432B4B564D8EA12B300BB14D0F"
      unitRef="shares">171053000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e2116-wk-Fact-450FAE4711BC52F8BFAE77A07E3CA33A"
      unitRef="shares">172613000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19077804e2137-wk-Fact-4D1C23EBB3D15D4DA1E092FF3AEC13C9"
      unitRef="shares">174449000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19077804e2156-wk-Fact-492CE133AF9D5CAEB1063D27A1B2C5B3"
      unitRef="shares">177245000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19077804e2175-wk-Fact-BC0F732AAEBE5654BDC0C96982E19BC8"
      unitRef="shares">175164000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19077804e2195-wk-Fact-7EC95DD9BA585E3CBD2590C40EEC3A72"
      unitRef="shares">178021000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="FD2019Q3QTD"
      decimals="INF"
      id="d19077804e2302-wk-Fact-289CD799D09B5E83963C53F55532D86F"
      unitRef="usdPerShare">0.050</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="FD2018Q3QTD"
      decimals="INF"
      id="d19077804e2321-wk-Fact-701768A937E157CCAE0179F61C4764CF"
      unitRef="usdPerShare">0.045</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="FD2019Q3YTD"
      decimals="INF"
      id="d19077804e2340-wk-Fact-B1A2787E08ED56F19E28F436B951D753"
      unitRef="usdPerShare">0.150</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:CommonStockDividendsPerShareCashPaid
      contextRef="FD2018Q3YTD"
      decimals="INF"
      id="d19077804e2360-wk-Fact-CFE470791AE45F0FA31815764C283248"
      unitRef="usdPerShare">0.135</us-gaap:CommonStockDividendsPerShareCashPaid>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e632-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B"
      unitRef="usd">41685000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e651-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7"
      unitRef="usd">80436000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e670-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57"
      unitRef="usd">123538000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e690-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933"
      unitRef="usd">173849000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e951-wk-Fact-7EEFB65BF3F4568089DFDCAE5C8307D5"
      unitRef="usd">265000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e970-wk-Fact-A2723AF308B2525BA09C7231BF0C1A84"
      unitRef="usd">522000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e989-wk-Fact-802FCCE1814F5C4FA7759889A1585068"
      unitRef="usd">4827000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1009-wk-Fact-565562FE14635ACAAAFF495CAC42AA7F"
      unitRef="usd">-180000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1030-wk-Fact-609A4F906FD250F9A8F44A6735CEC654"
      unitRef="usd">294000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1050-wk-Fact-41C15225FAC15E86B6A58E8762BC6E86"
      unitRef="usd">266000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1070-wk-Fact-009DE77DDEFE5858BF60FC1FCA7AC805"
      unitRef="usd">716000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1091-wk-Fact-876534E26FDC51B4A6825488111446B7"
      unitRef="usd">535000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1112-wk-Fact-221ECBADE2DC5F41BFE4F3C2EE99EEC4"
      unitRef="usd">-29000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1132-wk-Fact-4C755E878E8B52C18AC0EDC7A20363FA"
      unitRef="usd">256000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1151-wk-Fact-37FA98CA4ED65B07BBDC2171AC79F202"
      unitRef="usd">4111000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1171-wk-Fact-FE81FE39DBFD50F1BD058950A650D73C"
      unitRef="usd">-715000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1357-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B"
      unitRef="usd">-1099000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1377-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7"
      unitRef="usd">-1881000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1397-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6"
      unitRef="usd">-1544000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1418-wk-Fact-6B5D079486615E1693538B3678C93E20"
      unitRef="usd">-5078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1439-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B"
      unitRef="usd">-1099000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1459-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7"
      unitRef="usd">-1881000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1479-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6"
      unitRef="usd">-1544000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1500-wk-Fact-6B5D079486615E1693538B3678C93E20"
      unitRef="usd">-5078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1603-wk-Fact-B82A665502B0561AA3DA07D26309861D"
      unitRef="usd">-1128000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1623-wk-Fact-A52AB8E376FD51B5A1E8BFF7E9E155A0"
      unitRef="usd">-1625000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1643-wk-Fact-50043103DE195C459D6C49A450CF968F"
      unitRef="usd">2567000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1663-wk-Fact-ACBBA96D2DDB5CAB845920181F0619C3"
      unitRef="usd">-5793000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19080501e1689-wk-Fact-A72EB87C0C835D9A89C37BA5E2C1A533"
      unitRef="usd">40557000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19080501e1708-wk-Fact-B48CFECA8DA45E67B9D6E58FD7FCAD27"
      unitRef="usd">78811000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19080501e1727-wk-Fact-154F8EB707EA5FEB8EAB6D966929B6FB"
      unitRef="usd">126105000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19080501e1747-wk-Fact-F9B0D37A4E615C2EABF3D6A9A8F72EC0"
      unitRef="usd">168056000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e545-wk-Fact-05057433E1985A589A65CC28126A51F1"
      unitRef="usd">121701000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e564-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624"
      unitRef="usd">108212000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e579-wk-Fact-EB38191BAF7C5A1099B62741E521CFC9"
      unitRef="usd">292072000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e598-wk-Fact-EA47994E21595A318B82F5F13177AEB5"
      unitRef="usd">427348000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e618-wk-Fact-09CC317E743450CAAD00617E2549FD7E"
      unitRef="usd">107407000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e637-wk-Fact-88144088943C5A81A4B1D529D8524CF7"
      unitRef="usd">119172000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e657-wk-Fact-8DFAFB48615553029EEA4C75D29D18DC"
      unitRef="usd">11210000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e676-wk-Fact-91E2CCE814D557B59EC4FFE55C6ACD3B"
      unitRef="usd">8312000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:InventoryNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e696-wk-Fact-A30014C259F05615B105E26FF5ECC64E"
      unitRef="usd">65264000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e715-wk-Fact-857C72E7F06850F0AE2F72050E98B439"
      unitRef="usd">83282000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e735-wk-Fact-C5CFFE2BF90A5752A8D7B44152A54018"
      unitRef="usd">28127000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e754-wk-Fact-9C80E0B58BD05D48B5FC28523897770B"
      unitRef="usd">34000000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e774-wk-Fact-64C070ECA96A52AE84049D8A83629854"
      unitRef="usd">625781000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e793-wk-Fact-D0008DE91F295FA59FE9CFB77A68F3D8"
      unitRef="usd">780326000</us-gaap:AssetsCurrent>
    <us-gaap:LongTermInvestments
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e814-wk-Fact-0E2F4EFC17F755AFA4C4D6E63AD8D750"
      unitRef="usd">504641000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e833-wk-Fact-BBE7C641A3155E8F99B6D8EB4D02A6F5"
      unitRef="usd">262039000</us-gaap:LongTermInvestments>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e853-wk-Fact-210666890565549EA9B52F1D3E6401E5"
      unitRef="usd">88429000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e872-wk-Fact-1E4278DCA3BE526F84C9C3CA43B8841E"
      unitRef="usd">91396000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e892-wk-Fact-BDEB152A84CE5E03A2FE07CA2ED21C57"
      unitRef="usd">15806000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e911-wk-Fact-81FF097BC2865CF4A95E5397358C83AC"
      unitRef="usd">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e931-wk-Fact-766404F452255C8089C3892341991140"
      unitRef="usd">113208000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e950-wk-Fact-E1D289B37F505ACFA0A589DB047833A4"
      unitRef="usd">113208000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e970-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3"
      unitRef="usd">7994000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e989-wk-Fact-32E11519B899549AA2BDA26070371C13"
      unitRef="usd">10113000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:DeferredTaxAssetsNetNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1009-wk-Fact-B6768C6E151B5CA69A08ED7FD1FC1C98"
      unitRef="usd">29273000</us-gaap:DeferredTaxAssetsNetNoncurrent>
    <us-gaap:DeferredTaxAssetsNetNoncurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1028-wk-Fact-07F2ECF5C833545B897881A1F542FE77"
      unitRef="usd">28660000</us-gaap:DeferredTaxAssetsNetNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1048-wk-Fact-9166945538CE5A5E9EF34E449002BEC4"
      unitRef="usd">5320000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1067-wk-Fact-04956FFC8720580CA761E45B29099282"
      unitRef="usd">3925000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1092-wk-Fact-EEB0FD23A1F95D6B8A1F629839FF08B9"
      unitRef="usd">1390452000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1111-wk-Fact-6B5A65714EB35114B2F7DE7EC4B52C41"
      unitRef="usd">1289667000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1255-wk-Fact-FEEF759D894B52CB98862F07A5ADA667"
      unitRef="usd">12766000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1274-wk-Fact-68D4ED6999255C82B52441E6C0AA7B12"
      unitRef="usd">16230000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1289-wk-Fact-DCC09BEC55C15D8E8EDB88AC5AD1B281"
      unitRef="usd">48561000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1308-wk-Fact-73E57DC062A4585CA1E42CB1D08901D9"
      unitRef="usd">60220000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1328-wk-Fact-4D7A6EC4E6F35A1DA1D44F7756D0DB30"
      unitRef="usd">4012000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1347-wk-Fact-EA9C2425AB125681AA4A6F82371E7B3C"
      unitRef="usd">5062000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:DeferredRevenueAndCreditsCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1367-wk-Fact-320747CCC2065744882C1D7D10EA454E"
      unitRef="usd">10431000</us-gaap:DeferredRevenueAndCreditsCurrent>
    <us-gaap:DeferredRevenueAndCreditsCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1386-wk-Fact-AE8E04B96D105346B1DDB2D1BA05E2C5"
      unitRef="usd">9845000</us-gaap:DeferredRevenueAndCreditsCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1406-wk-Fact-ED8A8999C4D053F0A4F57E43D8AB3B02"
      unitRef="usd">5445000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1425-wk-Fact-4671320FD3965A819C8996B64E5C1B69"
      unitRef="usd">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1445-wk-Fact-F2927D35D3DF5CF1B7D269E7DA62A7B3"
      unitRef="usd">81215000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1464-wk-Fact-13E22F5EA61D50B1B774B05CBD0BD541"
      unitRef="usd">91357000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1484-wk-Fact-00CEED6BE1585FADA3C597CF4252A0BE"
      unitRef="usd">10722000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1503-wk-Fact-F6390650CF5C50B4A12C0DFC6FB36108"
      unitRef="usd">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1523-wk-Fact-D0044F994A0E5071897AF81BD89655EC"
      unitRef="usd">289000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1542-wk-Fact-B06BB3D7C54652FE853BA787099AEBBB"
      unitRef="usd">962000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1562-wk-Fact-124DB1F0EE8055EDB1E543B6BF97A3DA"
      unitRef="usd">7151000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1581-wk-Fact-01A08FD953D558D3A603C37CE9A0D162"
      unitRef="usd">7106000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:AccruedIncomeTaxes
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1601-wk-Fact-9C3176085CA056B880E98BE3DDD11F9F"
      unitRef="usd">51113000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:AccruedIncomeTaxes
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1620-wk-Fact-6909664AA03F5B37B42034EE70B8D2B8"
      unitRef="usd">51113000</us-gaap:AccruedIncomeTaxes>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1640-wk-Fact-93CE4C647AC65E6A952751BB1345B5B5"
      unitRef="usd">744000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1659-wk-Fact-16D20966A25B5FA18CCC8F2F92ECC72A"
      unitRef="usd">3866000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1680-wk-Fact-5C3607F25A6C5F2CA3D0B5FFEFBD550A"
      unitRef="usd">151234000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1699-wk-Fact-671C8975026D5F5FA812D06474E4F078"
      unitRef="usd">154404000</us-gaap:Liabilities>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1801-wk-Fact-32C9659DD86259B99F3E2F46379A1E03"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:PreferredStockValueOutstanding
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1820-wk-Fact-A92B7612AA30530FB3C398D80BF7F750"
      unitRef="usd">0</us-gaap:PreferredStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1840-wk-Fact-51BDF847A0545BBBAE5089B121718C31"
      unitRef="usd">342000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:CommonStockValueOutstanding
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1859-wk-Fact-BD6AC925539A5DA2B70375BC251C7EDA"
      unitRef="usd">342000</us-gaap:CommonStockValueOutstanding>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1879-wk-Fact-3ADD3CCFEE04535FA05D30727D7ED247"
      unitRef="usd">594427000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1898-wk-Fact-03F61440794D5727BC7A224A7BA594E7"
      unitRef="usd">529208000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1918-wk-Fact-DDCC31A657135B57A08DAB5C70CB3140"
      unitRef="usd">682383000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1937-wk-Fact-5744F5DA2061542DA20CF714785CBEFE"
      unitRef="usd">646214000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1957-wk-Fact-A981FB05E71A524A9F09C97A16B02AAA"
      unitRef="usd">-37934000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e1977-wk-Fact-A3A8B66957465C62B7A03B2E67AFFE1E"
      unitRef="usd">-40501000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e1998-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259"
      unitRef="usd">1239218000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e2017-wk-Fact-4380DFCE039B575FAFD41E21FB0F0A39"
      unitRef="usd">1135263000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19082511e2042-wk-Fact-7331102502565AFBB3AE6A19DB491DBD"
      unitRef="usd">1390452000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19082511e2061-wk-Fact-D228608E9A2E57B383BF859657D3481B"
      unitRef="usd">1289667000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e539-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57"
      unitRef="usd">123538000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e558-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933"
      unitRef="usd">173849000</us-gaap:NetIncomeLoss>
    <us-gaap:StockOptionPlanExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e614-wk-Fact-DCF8406AAD6E5FC39934CC2ACC9E8612"
      unitRef="usd">33442000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e633-wk-Fact-562123386E0B5AAFAD888AE260B6F4F8"
      unitRef="usd">31339000</us-gaap:StockOptionPlanExpense>
    <us-gaap:Depreciation
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e653-wk-Fact-2D217406C46C53E7945FFEA81B2853FF"
      unitRef="usd">15800000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e672-wk-Fact-1DA59B55E9F25844B3A48F740560793A"
      unitRef="usd">13474000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e692-wk-Fact-E32C93E972C05751B58629C2B52E3F4C"
      unitRef="usd">2119000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e711-wk-Fact-D851D829495A52BD9C9DF273C29364BE"
      unitRef="usd">2307000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e731-wk-Fact-464BCE4F98A0568CBCCAC325C4B95D49"
      unitRef="usd">563000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e751-wk-Fact-A685E273E9F05D828C0F3E427C105F6B"
      unitRef="usd">-123000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e771-wk-Fact-484FDC211BFA51C7AE0D1F17C22C9C12"
      unitRef="usd">716000</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:GainLossOnSaleOfInvestments
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e791-wk-Fact-165D174218A95A23B7499A7D80E0C283"
      unitRef="usd">535000</us-gaap:GainLossOnSaleOfInvestments>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e813-wk-Fact-FF94DBEFF0AF55CBA65FF1B43E22C46F"
      unitRef="usd">-1401000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e833-wk-Fact-4AE56A5E823A55F79C25ACD8200E7A83"
      unitRef="usd">-50000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e854-wk-Fact-08F3A6516DFD5317B13BA0090003884B"
      unitRef="usd">1805000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e874-wk-Fact-BC7F4BE75C2E595CBD5BFFB72A19CD61"
      unitRef="usd">-175000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e935-wk-Fact-45C97FEAB63D54E68C64BC496962F5D8"
      unitRef="usd">-11387000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e954-wk-Fact-35CED1AEF60551518CB150321F0EBBD3"
      unitRef="usd">18136000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e975-wk-Fact-E0675DE3C1FF541CA31545FEC378EF55"
      unitRef="usd">2900000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInUnbilledReceivables
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e995-wk-Fact-BF8EF8CDA0575B4BB840B785A74CFC85"
      unitRef="usd">6542000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1016-wk-Fact-444CAC512D2858EEBBAE8DE2B11C0436"
      unitRef="usd">-18019000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1035-wk-Fact-EF3640C622835A4C96CEE87A8FF28235"
      unitRef="usd">27699000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1056-wk-Fact-8AECF02EA6365C5F84033D1B89C9DF8F"
      unitRef="usd">-5827000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1075-wk-Fact-2539D2CE0E2156AF84BE0A03AF0A0D85"
      unitRef="usd">3437000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1096-wk-Fact-C0B1782A517955ACB65C7C7094BB01D2"
      unitRef="usd">-3398000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1116-wk-Fact-B33BF456891559EA93B2A69CEBB5A75A"
      unitRef="usd">-1182000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1137-wk-Fact-0F4470A0230156E4945847765EE2B0B8"
      unitRef="usd">-11827000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1157-wk-Fact-DAA3882C4EDC57A4A528E8AEE625FB28"
      unitRef="usd">2266000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1177-wk-Fact-2FF56902D7E955F794FDC52624B0F4CB"
      unitRef="usd">-1043000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1197-wk-Fact-43C18EA2A8F055239F1F4C4F457876F8"
      unitRef="usd">-17497000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1218-wk-Fact-A68C61FA0B345E478E40F6460A18C5E2"
      unitRef="usd">698000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1237-wk-Fact-73F56F03BD785AA39FFE8D884BEBF59A"
      unitRef="usd">4841000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1258-wk-Fact-B4125B4E32C25BC8A8AEC476477771DD"
      unitRef="usd">1863000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1278-wk-Fact-397EBA5C59B2535FBAA3285B89AF1667"
      unitRef="usd">1604000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1299-wk-Fact-F0C4B43D1EFD53888A3BFE6C5AE3A9AC"
      unitRef="usd">185314000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1318-wk-Fact-DAB99FCAA4F458DCA7D1CA2A67D59711"
      unitRef="usd">151692000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1379-wk-Fact-50DE70A273CF52EEA200A07EC9CCC935"
      unitRef="usd">883363000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1399-wk-Fact-B7512658A26D558B8C40146FA38E53AB"
      unitRef="usd">616047000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1420-wk-Fact-7830F1D8E296504D83891BE757FC1E57"
      unitRef="usd">781929000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1439-wk-Fact-1E3369759F915431B8C518DBBEAB62FB"
      unitRef="usd">635119000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1459-wk-Fact-1AD5F46CB3B553DC9C77E2FF11E5F2E6"
      unitRef="usd">13518000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1479-wk-Fact-F7DCD915FD455BD19D05DA89C3B0DCD3"
      unitRef="usd">27356000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1500-wk-Fact-5B322FA0F89A584DAA0AF86481BF8217"
      unitRef="usd">-114952000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1520-wk-Fact-BBCBBCE95F165DDCB5DCBD84BEC7F8B2"
      unitRef="usd">-8284000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1582-wk-Fact-3C163537A9885812A61CD9891271062C"
      unitRef="usd">31780000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1601-wk-Fact-FE2DF093F0E85407A9039A10633EAA44"
      unitRef="usd">25882000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1621-wk-Fact-8860FA53FA8A56508A939C2312100AC5"
      unitRef="usd">61690000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1641-wk-Fact-4621CE6E86465721BA3C60C848881A90"
      unitRef="usd">142262000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1662-wk-Fact-B1D3660967475FE2AAF768185EDBF9F3"
      unitRef="usd">25682000</us-gaap:PaymentsOfDividendsCommonStock>
    <us-gaap:PaymentsOfDividendsCommonStock
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1682-wk-Fact-5509F0CCA9CA58508D833953EC8E972B"
      unitRef="usd">23283000</us-gaap:PaymentsOfDividendsCommonStock>
    <cgnx:Paymentofcontingentconsideration
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1704-wk-Fact-43D2890E580150EE9B7A07E3D9B99A44"
      unitRef="usd">0</cgnx:Paymentofcontingentconsideration>
    <cgnx:Paymentofcontingentconsideration
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1723-wk-Fact-4D84692CDA635329AA1B09ED64A588E2"
      unitRef="usd">1000000</cgnx:Paymentofcontingentconsideration>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1744-wk-Fact-760168D9C0E95F7EB8804225B8DA427C"
      unitRef="usd">-55592000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1764-wk-Fact-2B8A593135CC5DE3B40134D2FD215C9F"
      unitRef="usd">-140663000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1785-wk-Fact-8293B35CAE0551C8ACFAA2BDC30DD5E1"
      unitRef="usd">-1281000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1805-wk-Fact-F08D3B42B624517084013C48A8FB1261"
      unitRef="usd">-1956000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19084362e1826-wk-Fact-A272E81091E6500DA2F02EC9CECF4024"
      unitRef="usd">13489000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19084362e1845-wk-Fact-BF377B6FED8E5BD9BC3693BA1038DFFA"
      unitRef="usd">789000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19084362e1865-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624"
      unitRef="usd">108212000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2017Q4"
      decimals="-3"
      id="d19084362e1884-wk-Fact-F80744F59B5F5192811B108FAE5F19AF"
      unitRef="usd">106582000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19084362e1909-wk-Fact-05057433E1985A589A65CC28126A51F1"
      unitRef="usd">121701000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2018Q3"
      decimals="-3"
      id="d19084362e1928-wk-Fact-0FBE86C9E46455E0BF066D6ABFD9C4F8"
      unitRef="usd">107371000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e643-wk-Fact-CE2D578102265508BEAEB7F6428964A5"
      unitRef="shares">170661000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e662-wk-Fact-8FC00EBEF96653A9AAABC420EFC6E2CE"
      unitRef="usd">341000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e681-wk-Fact-0F6BD59085DC57EDB2E242C1C505D648"
      unitRef="usd">578871000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e701-wk-Fact-E012180E600B59C4B22B68B77ABDE643"
      unitRef="usd">649234000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e720-wk-Fact-63E20D7355E55DAD8D5A0EFE7989597C"
      unitRef="usd">-36806000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q2"
      decimals="-3"
      id="d19090963e740-wk-Fact-DE2300C109CD51D8A0A2A82635C5CD1D"
      unitRef="usd">1191640000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e756-wk-Fact-1C1DDEF763525EF0AC38F1B337812E7F"
      unitRef="shares">236000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e770-wk-Fact-CFCF0F9086185E1B96ABF661552813C9"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e789-wk-Fact-0999A58E1E095C1CA22CD085606DBE5A"
      unitRef="usd">5362000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e847-wk-Fact-3690CFE38DA151E598A09ACFD479204D"
      unitRef="usd">5363000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e901-wk-Fact-5870F508724E5F0C972F82EE9FB1F53E"
      unitRef="usd">10194000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e959-wk-Fact-86B4222907CE5F3DA1BA13AB39C0F780"
      unitRef="usd">10194000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e1033-wk-Fact-1AFE43D10EDF59B1A2E91AD7D2C5DF44"
      unitRef="usd">8536000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e1072-wk-Fact-E80DE4BC01B35FC0954466113AA2E8FB"
      unitRef="usd">8536000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e1147-wk-Fact-B7E32F46909A5FD89E9BA5F339AF0155"
      unitRef="usd">41685000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e1185-wk-Fact-7232CB4A3E2258DAAB7659F1A107EA2B"
      unitRef="usd">41685000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e1278-wk-Fact-4418F4E697FD5E1786ADF0492BC06605"
      unitRef="usd">265000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e1297-wk-Fact-7EEFB65BF3F4568089DFDCAE5C8307D5"
      unitRef="usd">265000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e1390-wk-Fact-4A4C9B402CA85872A1C567AADECF3580"
      unitRef="usd">294000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e1410-wk-Fact-609A4F906FD250F9A8F44A6735CEC654"
      unitRef="usd">294000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e1504-wk-Fact-01DD2DF929C85503AB8E74A24F181516"
      unitRef="usd">-1099000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19090963e1524-wk-Fact-F439906577CC5F6C8553C5207DE1BA4B"
      unitRef="usd">-1099000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e1546-wk-Fact-361127750FFD51228024441E120FC49E"
      unitRef="shares">170897000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e1565-wk-Fact-1B9F1271C75A5BBE936DB6C7618E1AEF"
      unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e1584-wk-Fact-EAEDCB98AF4358E4AF7F9E2B6D6906A8"
      unitRef="usd">594427000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e1604-wk-Fact-D51C5A93D30E5E2AB6C513662BA8E19B"
      unitRef="usd">682383000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e1623-wk-Fact-EE41EA7E8AA65D7AA5C159E287658004"
      unitRef="usd">-37934000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19090963e1643-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259"
      unitRef="usd">1239218000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e1947-wk-Fact-0D00ED46F0CB5463A6A054F8B631387A"
      unitRef="shares">172032000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e1966-wk-Fact-1A46E7B5EECF5D4B916A5494A4919287"
      unitRef="usd">344000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e1985-wk-Fact-FEBC9E7D85DD507582A49C788D86C9AE"
      unitRef="usd">498343000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e2005-wk-Fact-29523E7BFABB5F85AC28F74E7CB03088"
      unitRef="usd">619212000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e2024-wk-Fact-74FEFB05BB0652B5A366309095DB0187"
      unitRef="usd">-38767000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q2"
      decimals="-3"
      id="d19090963e2044-wk-Fact-83BE89B62EE859DDBD64D6F852471C11"
      unitRef="usd">1079132000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2060-wk-Fact-E81122AAE15A537484953C28279B923B"
      unitRef="shares">553000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2074-wk-Fact-5A9C30E6A42A5730B12C70EFAD634589"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e2093-wk-Fact-C31BD099DA325998892236D267398942"
      unitRef="usd">11070000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2151-wk-Fact-6FD6BB5AB5435C0E957EE89965905808"
      unitRef="usd">11071000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2172-wk-Fact-D6E953FA3BA1583694CC37323FA0963D"
      unitRef="shares">394000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2187-wk-Fact-9A7688E98FE952EFA14AE9F2440D6C91"
      unitRef="usd">0</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e2226-wk-Fact-9718CC16C1285D53963BE986C07272B8"
      unitRef="usd">20954000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2265-wk-Fact-52DF815A29EB5A7EB5BED3BB35107852"
      unitRef="usd">20954000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e2320-wk-Fact-EE623457E3DE5A949808ED71DBB251B1"
      unitRef="usd">9143000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2378-wk-Fact-584FFF7CD8BB5A3DA2F74D65B51201AC"
      unitRef="usd">9143000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e2452-wk-Fact-CADC6D6471EA55AA8DE3FA7BDAFC4AB2"
      unitRef="usd">7759000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2491-wk-Fact-1337C4441F1D565EB58380955F8F3538"
      unitRef="usd">7759000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e2566-wk-Fact-B007478FF6155F4F9154E90BB8B791A3"
      unitRef="usd">80436000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2604-wk-Fact-71A425C3835257D9B5CFF6DCD5F7F1F7"
      unitRef="usd">80436000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e2697-wk-Fact-BA949C028C6A5F95A417ECF15ED820E9"
      unitRef="usd">522000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2716-wk-Fact-A2723AF308B2525BA09C7231BF0C1A84"
      unitRef="usd">522000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e2809-wk-Fact-3FDCB43297335DEDA9D23FC8F929D997"
      unitRef="usd">266000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2829-wk-Fact-41C15225FAC15E86B6A58E8762BC6E86"
      unitRef="usd">266000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3QTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e2923-wk-Fact-F9658810B2145A5799D05627C999E5A0"
      unitRef="usd">-1881000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19090963e2943-wk-Fact-5796A08CA5B153A1BEF06CD60B3E0AA7"
      unitRef="usd">-1881000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2966-wk-Fact-429BDE86206A554B908AE721D10C0C67"
      unitRef="shares">172191000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e2985-wk-Fact-9D2B203975EB577194176C79E0450FBA"
      unitRef="usd">345000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e3004-wk-Fact-119A360821335DE5A3101D5C9D8AE97F"
      unitRef="usd">518556000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e3024-wk-Fact-75A28677531055B2B8C188E328E58D13"
      unitRef="usd">670935000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e3043-wk-Fact-A5021CB88B1655F6972B77968811458E"
      unitRef="usd">-40392000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3"
      decimals="-3"
      id="d19090963e3063-wk-Fact-B0FD9D84F8B456F9B2D8138F953EDA25"
      unitRef="usd">1149444000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3397-wk-Fact-8F8ED1F7B90559E9B42E6A6EAF37A121"
      unitRef="shares">170820000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3416-wk-Fact-DA6CFFA0F8E25D389B3035D88F813D55"
      unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e3435-wk-Fact-E9486B0EA1255F2E9AD745B72536FAB6"
      unitRef="usd">529208000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e3455-wk-Fact-EDB32FA3612C50F9B9644978B1520D88"
      unitRef="usd">646214000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e3474-wk-Fact-9FBB1CF381965C9E8CF10A3350CA540F"
      unitRef="usd">-40501000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19090963e3494-wk-Fact-4380DFCE039B575FAFD41E21FB0F0A39"
      unitRef="usd">1135263000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3510-wk-Fact-AF1048411A975AAE8C6ACD0BD7CCE5AD"
      unitRef="shares">1475000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3524-wk-Fact-C51453115C7D56CABD6F6142DDAF1927"
      unitRef="usd">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e3543-wk-Fact-BD80751C732057F89A1DF6E8037A6B3C"
      unitRef="usd">31777000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e3601-wk-Fact-BF09AE8C7CAE576CA8A05D28DE9F448E"
      unitRef="usd">31780000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3622-wk-Fact-A1C214B51F48540DBBEAFFBFC2BBD3E6"
      unitRef="shares">1398000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e3637-wk-Fact-E515FA59BF5452E0BE603070F3F8652D"
      unitRef="usd">3000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e3677-wk-Fact-9A9163FD78E35C4F9AE9CA2AADAB1B25"
      unitRef="usd">61687000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e3716-wk-Fact-3792683025BB5010B3DAAAEE9A598419"
      unitRef="usd">61690000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e3771-wk-Fact-8DB22651D7A052A59AC4BEDF6CB64516"
      unitRef="usd">33442000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e3829-wk-Fact-762EE81BDF0351B9952716FE51DB76FF"
      unitRef="usd">33442000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e3903-wk-Fact-20DD6779474F530088DC978C10E3C35A"
      unitRef="usd">25682000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e3942-wk-Fact-C5EF21D55B7E5C6E8470E8091B1B2311"
      unitRef="usd">25682000</us-gaap:DividendsCash>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e4017-wk-Fact-689983E39E4E5C9BB9AEBDCAED86D7D9"
      unitRef="usd">123538000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e4055-wk-Fact-2880349F94E450AE9E80FDE0DD89ED57"
      unitRef="usd">123538000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e4148-wk-Fact-5FD6EED0D1155F06BF61781569841A55"
      unitRef="usd">4827000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e4167-wk-Fact-802FCCE1814F5C4FA7759889A1585068"
      unitRef="usd">4827000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e4260-wk-Fact-A44A3C484A795297838BF2C2789E5319"
      unitRef="usd">716000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e4280-wk-Fact-009DE77DDEFE5858BF60FC1FCA7AC805"
      unitRef="usd">716000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e4374-wk-Fact-29CA70FBAD615B12AC7A848ADBC0BB98"
      unitRef="usd">-1544000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19090963e4394-wk-Fact-3E2ED805200755B3B64E691E9E96CCD6"
      unitRef="usd">-1544000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4417-wk-Fact-361127750FFD51228024441E120FC49E"
      unitRef="shares">170897000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4436-wk-Fact-1B9F1271C75A5BBE936DB6C7618E1AEF"
      unitRef="usd">342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e4455-wk-Fact-EAEDCB98AF4358E4AF7F9E2B6D6906A8"
      unitRef="usd">594427000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e4475-wk-Fact-D51C5A93D30E5E2AB6C513662BA8E19B"
      unitRef="usd">682383000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e4494-wk-Fact-EE41EA7E8AA65D7AA5C159E287658004"
      unitRef="usd">-37934000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19090963e4514-wk-Fact-35BE1A7FC19056B08F3A3ED01897D259"
      unitRef="usd">1239218000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4819-wk-Fact-B9381149794751C4B8CFFCBEAB7D2F45"
      unitRef="shares">173507000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4838-wk-Fact-6F7A972528AA57039073D799FB8832B9"
      unitRef="usd">347000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e4857-wk-Fact-7B87BC83A1CF5F2291AE3C7FF68B44CC"
      unitRef="usd">461338000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e4877-wk-Fact-14419D5412A358369C3057190A461DAC"
      unitRef="usd">668587000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e4896-wk-Fact-C74EC778430A5D798D2AE6301F09198C"
      unitRef="usd">-34599000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2017Q4"
      decimals="-3"
      id="d19090963e4916-wk-Fact-9CF22FE646715634BB7A47C004A7B4A8"
      unitRef="usd">1095673000</us-gaap:StockholdersEquity>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4932-wk-Fact-6E2219D8A0FD5F0698DF23ABB537A9DF"
      unitRef="shares">1434000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e4946-wk-Fact-00865868E8135290BF2E0139E0601DBA"
      unitRef="usd">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e4965-wk-Fact-18FF915BB9B955ACBBA242FA36910BE5"
      unitRef="usd">25879000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5023-wk-Fact-B6EC282902BF551284031B7FA3AB4615"
      unitRef="usd">25882000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e5044-wk-Fact-2E876A86836E5DAD9D7A900682279277"
      unitRef="shares">2750000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e5059-wk-Fact-75630E09F0BF563894F7B1A7873AAFB7"
      unitRef="usd">5000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e5099-wk-Fact-B8FB10FCFC41518EA716EC3FD8E63843"
      unitRef="usd">142257000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5138-wk-Fact-EAD40C86398F5E80B18F755EBEC00C5C"
      unitRef="usd">142262000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e5193-wk-Fact-FCD57C2632105CBEB82312B33961CF47"
      unitRef="usd">31339000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5251-wk-Fact-B0C2AEA44A285B518768FD8D17C796E6"
      unitRef="usd">31339000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:DividendsCash
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e5325-wk-Fact-EC5D6B57A38B5F45B9F47300B8E0AB92"
      unitRef="usd">23283000</us-gaap:DividendsCash>
    <us-gaap:DividendsCash
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5364-wk-Fact-383BB61BDEBD5FADBBE6013456A48ACF"
      unitRef="usd">23283000</us-gaap:DividendsCash>
    <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption
      contextRef="I2018Q1Jan1_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e5439-wk-Fact-37CD0ED2B3A45320931ADF254C0C31C7"
      unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
    <us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption
      contextRef="I2018Q1Jan1"
      decimals="-3"
      id="d19090963e5478-wk-Fact-B0EDCA603BF458E09FDB910C21672587"
      unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e5553-wk-Fact-8E79CD3B2CCF5C19843B30B0A65EEE06"
      unitRef="usd">173849000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5591-wk-Fact-444DA5BEFE9756C6AAB7EE2B23609933"
      unitRef="usd">173849000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e5684-wk-Fact-80DB6A50FE335582BE84D5581219684B"
      unitRef="usd">-180000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5704-wk-Fact-565562FE14635ACAAAFF495CAC42AA7F"
      unitRef="usd">-180000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e5798-wk-Fact-18041AE3C9985F458C5AF803FF4A1BA2"
      unitRef="usd">535000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5818-wk-Fact-876534E26FDC51B4A6825488111446B7"
      unitRef="usd">535000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e5913-wk-Fact-3131B5D7F3E4592E87DE2CA98F0666D6"
      unitRef="usd">-5078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19090963e5933-wk-Fact-6B5D079486615E1693538B3678C93E20"
      unitRef="usd">-5078000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e5955-wk-Fact-429BDE86206A554B908AE721D10C0C67"
      unitRef="shares">172191000</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember"
      decimals="-3"
      id="d19090963e5974-wk-Fact-9D2B203975EB577194176C79E0450FBA"
      unitRef="usd">345000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="d19090963e5993-wk-Fact-119A360821335DE5A3101D5C9D8AE97F"
      unitRef="usd">518556000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="d19090963e6013-wk-Fact-75A28677531055B2B8C188E328E58D13"
      unitRef="usd">670935000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="d19090963e6032-wk-Fact-A5021CB88B1655F6972B77968811458E"
      unitRef="usd">-40392000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="FI2018Q3"
      decimals="-3"
      id="d19090963e6052-wk-Fact-B0FD9D84F8B456F9B2D8138F953EDA25"
      unitRef="usd">1149444000</us-gaap:StockholdersEquity>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-A1F1ACB7CE56524CA087089D42414536-0-wk-Fact-2F3AE1F9AAA455B6A87767A5C9D678F7">Summary of Significant Accounting Policies&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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).  As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q.  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 &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for a full description of other significant accounting policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#x2019;s financial position as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, and the results of its operations for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, and changes in shareholders&#x2019; equity, comprehensive income, and cash flows for the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; are not necessarily indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration.  The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less.  In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term.  When none of the criteria above are met, the Company classifies the lease as an operating lease. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet.  The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company.  Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.  &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate.  The Company&#x2019;s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period.  The lease liability is reduced by the cash payment less the interest each period.&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-DB1252D775EF557D8BFC6BC9EB407FF4-0-wk-Fact-58E41006E913525590322C8DFF36A696">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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).  As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q.  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 &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for a full description of other significant accounting policies.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#x2019;s financial position as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, and the results of its operations for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, and changes in shareholders&#x2019; equity, comprehensive income, and cash flows for the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; are not necessarily indicative of the results to be expected for the full year.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Leases&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration.  The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less.  In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term.  When none of the criteria above are met, the Company classifies the lease as an operating lease. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet.  The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company.  Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.  &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate.  The Company&#x2019;s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period.  The lease liability is reduced by the cash payment less the interest each period.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-A6BF6ABBDC36553E826FF317D309CEAC-0-wk-Fact-9C3960A36A085956B2B601BCB310CAF8">New Pronouncements&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#x2019;s current estimate of all expected credit losses.  In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.  As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures.  Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium).  The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract.  The amendments  in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.  Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense.  Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement.  In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element.  The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted.  Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-68C0D88A552E58A4A4AA582238FC69A7-0-wk-Fact-B59EFDF82278558CA1EF732F3316B65A">ew Pronouncements&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#x2019;s current estimate of all expected credit losses.  In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.  As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures.  Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium).  The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract.  The amendments  in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.  Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense.  Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement.  In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element.  The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted.  Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-3669239BA4875A139476D7A3B03758DC-0-wk-Fact-E287DEA3F6D2583380D6748C4E63FAF8">Fair Value Measurements&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&#160;Prices&#160;in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&#160;    Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br/&gt;Unobservable&lt;br/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,081&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;362,069&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;146,392&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;22,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,840&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,153&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company&#x2019;s debt securities and forward contracts are reported at fair value based upon 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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company did not record an other-than-temporary impairment of these financial assets during the three-month or &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company's contingent consideration liabilities are reported at fair value based upon probability-adjusted present values of the consideration expected to be paid using significant inputs that are not observable in the market and are therefore classified as Level 3.  Key assumptions used in these estimates include probability assessments with respect to the likelihood of achieving certain revenue milestones.  The fair values of these contingent consideration liabilities were calculated using discount rates consistent with the level of risk of achievement, and are remeasured each reporting period with changes in fair value recorded in "Other income (expense)" on the Consolidated Statements of Operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,554&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1,646&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;245&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,153&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-financial assets such as property, plant and equipment, goodwill, and intangible assets are required to be measured at fair value only when an impairment loss is recognized.  The Company did not record an impairment charge related to these assets during the three-month or &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-F6FEC6DECE975C86B7E29D47CBF8AADC-0-wk-Fact-EB71486E284F5C098FAE5638A31F4B04">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&#160;Prices&#160;in&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&#160;    Other&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br/&gt;Unobservable&lt;br/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,081&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;362,069&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;146,392&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;22,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,840&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,153&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e541-wk-Fact-BCE82FAEFD23511BB5826126C282B07A"
      unitRef="usd">16081000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e560-wk-Fact-833B42C034BC552FB3E5DBF4452F1A93"
      unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19092343e614-wk-Fact-DFA7DD16947D593BA87F333B855D4EE7"
      unitRef="usd">362069000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19092343e673-wk-Fact-F3A67F0B3AA15245A26B64AC552FCA53"
      unitRef="usd">255207000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19092343e732-wk-Fact-010DDB410D2C5510812C40DDC605F058"
      unitRef="usd">146392000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19092343e791-wk-Fact-3E4B80CA40B85790909778F65B94E005"
      unitRef="usd">22300000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19092343e850-wk-Fact-C78A8CD7760353D3A15D73C86A225453"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19092343e909-wk-Fact-D94CBA0B978F5701BDD56083AC18FEE2"
      unitRef="usd">4840000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e968-wk-Fact-BB97CD933FE65AAEA3DCBC6EF3B70447"
      unitRef="usd">19000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1090-wk-Fact-50896265B03C59A896729F7A144A0860"
      unitRef="usd">70000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1168-wk-Fact-25A79DCC661759A48A4F65D6F68FCC64"
      unitRef="usd">1153000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-F27F6AB7B68F55708E1FA5AE7BC5927F-0-wk-Fact-D1826A93E15054ADB0C51A803800904B">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,554&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1,646&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;245&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,153&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="FI2018Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1248-wk-Fact-29964EE8AD4355819934887C46836FBD"
      unitRef="usd">2554000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:LiabilitiesFairValueAdjustment
      contextRef="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1263-wk-Fact-37B44BB306C25636BEEEB656331E79E9"
      unitRef="usd">-1646000</us-gaap:LiabilitiesFairValueAdjustment>
    <us-gaap:LiabilitiesFairValueAdjustment
      contextRef="FD2019Q3YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1284-wk-Fact-DE7D82CF20905159B249CEBBE5716F74"
      unitRef="usd">245000</us-gaap:LiabilitiesFairValueAdjustment>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="FI2019Q3_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember"
      decimals="-3"
      id="d19092343e1309-wk-Fact-926E79232AD4550EB61717C042CAE31C"
      unitRef="usd">1153000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-57ECCAEDEE325319BAD99F3EB310926C-0-wk-Fact-8F9310FA47A0506482EAE5D0B53C54DA">Cash, Cash Equivalents, and Investments&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;105,620&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;104,655&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;16,081&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,557&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;121,701&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,212&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;198,477&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;78,407&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;137,871&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,492&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Current investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;292,072&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;427,348&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;256,615&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;32,760&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;167,998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;162,566&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;56,816&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;53,631&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,316&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,921&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;845&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-current investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;504,641&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;262,039&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;918,414&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;797,599&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills consist of debt securities issued by the U.S. government; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; corporate bonds consist of debt securities issued by both domestic and foreign companies; sovereign bonds consist of direct debt issued by foreign governments; municipal bonds consist of debt securities issued by state and local government entities; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing. All securities are denominated in U.S. Dollars.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&#x2019;s available-for-sale investments as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,254&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;212&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,226&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;359&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;86,990&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;222&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,286&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,535&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,441&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,253&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(79&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;256,615&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;167,464&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;584&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(50&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;167,998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;56,636&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;195&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;56,816&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;15,969&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;43&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,930&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;794,031&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,889&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;796,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,863&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(91&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,863&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(91&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;23,263&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(17&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;20,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(36&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;43,976&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(53&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,093&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;19,242&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(24&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,558&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,558&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;343&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;343&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;160,738&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(160&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;29,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(47&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;189,887&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, the Company did not recognize any other-than-temporary impairment of these investments.  In its evaluation, management considered the type of security, the credit rating of the security, the length of time the security has been in a loss position, the size of the loss position, the Company's intent and ability to hold the security to expected recovery of value, and other meaningful information.  The Company does not intend to sell, and is unlikely to be required to sell, any of these available-for-sale investments before their effective maturity or market price recovery.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$361,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$67,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$283,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$17,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$818,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$103,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$646,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$111,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  These gains and losses are included in "Investment income" on the Consolidated Statements of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&#x2019; equity as accumulated other comprehensive loss.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&#x2019;s available-for-sale investments as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:35%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;188,398&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;68,217&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;362,069&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;115,941&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;47,842&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,348&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,867&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21,425&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;26,142&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7,633&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,616&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;146,392&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;22,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,840&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;292,072&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;341,764&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;149,413&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,981&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,483&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;796,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock>
    <cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-E017A24EF8EE59BAA27643C84220602A-0-wk-Fact-1262F38F90DB5DDCB9B9A8FD1ADE1C04">&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;105,620&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;104,655&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;16,081&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,557&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;121,701&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,212&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;198,477&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;78,407&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;137,871&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,492&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Current investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;292,072&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;427,348&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;256,615&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;32,760&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;167,998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;162,566&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;56,816&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;53,631&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,316&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,921&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;845&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-current investments&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;504,641&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;262,039&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;918,414&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;797,599&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock>
    <us-gaap:Cash
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e431-wk-Fact-F04B5B9AA0EC5688B1DE6C5D0EAF9DDD"
      unitRef="usd">105620000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e450-wk-Fact-584E5C37FBA8539C95CDCD9DB394AE7A"
      unitRef="usd">104655000</us-gaap:Cash>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e465-wk-Fact-FC31DF4170495E86B6C295ADC59EF8E6"
      unitRef="usd">16081000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e484-wk-Fact-1241740DE17D5979A6136C0C92C8BBB2"
      unitRef="usd">3557000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e504-wk-Fact-05057433E1985A589A65CC28126A51F1"
      unitRef="usd">121701000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e523-wk-Fact-3044CBB52ED65110A9CF6529E4E1C624"
      unitRef="usd">108212000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e543-wk-Fact-F8FB17316A6157ED858E89F763015295"
      unitRef="usd">105454000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e562-wk-Fact-C290BC9EC98B524482B407C5CF5329ED"
      unitRef="usd">198477000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e582-wk-Fact-744A699CF2FA5BFA983DC32B00714501"
      unitRef="usd">89576000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e601-wk-Fact-998138082DAB506FA23474122909AE95"
      unitRef="usd">78407000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e621-wk-Fact-BAB623C88AC5510086D031036C7AF125"
      unitRef="usd">87209000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e640-wk-Fact-2BE2987F5A0056C889C6F6B31D13329C"
      unitRef="usd">137871000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember"
      decimals="-3"
      id="d19099207e660-wk-Fact-BE3F87046712559BA61A7241C06D7897"
      unitRef="usd">6300000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtMember"
      decimals="-3"
      id="d19099207e679-wk-Fact-FA62A5371C48550C9B38987F9C57C5C3"
      unitRef="usd">8101000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e699-wk-Fact-B682124E8FA95F7EA2B18FB94816968D"
      unitRef="usd">3533000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e718-wk-Fact-16D6991D564E5A84A1BA197F8AFA609E"
      unitRef="usd">4492000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e738-wk-Fact-EB38191BAF7C5A1099B62741E521CFC9"
      unitRef="usd">292072000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e757-wk-Fact-EA47994E21595A318B82F5F13177AEB5"
      unitRef="usd">427348000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e777-wk-Fact-969B03C4FE60A178F58BB21A35676909"
      unitRef="usd">256615000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e796-wk-Fact-2BBA4993EA2C3624E402B21A37967294"
      unitRef="usd">32760000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e817-wk-Fact-550365B5C75452E7AFA95A200B9B3BFB"
      unitRef="usd">167998000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e836-wk-Fact-78FEE54329785C11A796CF07E08EE821"
      unitRef="usd">162566000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e856-wk-Fact-4F6C8D0B5D565025BBCB648A24575AB9"
      unitRef="usd">56816000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e875-wk-Fact-7B606060070C52FE9A6E1789BDD3C975"
      unitRef="usd">53631000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e895-wk-Fact-020D3BC06A375691B9FC312293667510"
      unitRef="usd">16000000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e914-wk-Fact-D31144988DFC5D56808F1B054F0FCCB3"
      unitRef="usd">6316000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e934-wk-Fact-3513CC27330259708BDF5757F138279A"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e953-wk-Fact-A0ADB2B2747B5BD884CD253C9FDB6009"
      unitRef="usd">5921000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e973-wk-Fact-8E246CD5BEF9577083EEDA22E3EFAB15"
      unitRef="usd">1307000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="FI2018Q4_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e992-wk-Fact-590F88B300C35EA8B72F82993AE37E1E"
      unitRef="usd">845000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:LongTermInvestments
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e1012-wk-Fact-0E2F4EFC17F755AFA4C4D6E63AD8D750"
      unitRef="usd">504641000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e1031-wk-Fact-BBE7C641A3155E8F99B6D8EB4D02A6F5"
      unitRef="usd">262039000</us-gaap:LongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e1056-wk-Fact-9A464F7D505153D5902A7604498EA442"
      unitRef="usd">918414000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <cgnx:CashCashEquivalentsShortTermAndLongTermInvestments
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099207e1075-wk-Fact-CF122E8102B85E9E97526395488FABCD"
      unitRef="usd">797599000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-F81FF532CF7F52A19B523C0791E40C3E-0-wk-Fact-5CB2363F50BF5D9DB5D8F3250FFA6D70">&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&#x2019;s available-for-sale investments as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Gains&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br/&gt;Unrealized&lt;br/&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,254&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;212&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,226&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;359&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;86,990&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;222&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,286&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,535&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-current:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,441&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,253&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(79&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;256,615&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;167,464&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;584&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(50&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;167,998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;56,636&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;195&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;56,816&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;15,969&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;43&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,930&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;794,031&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,889&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;796,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1309-wk-Fact-AD4DEDBB071F533F9BC0917264010F42"
      unitRef="usd">105254000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1328-wk-Fact-43F13877F4AB5A1A99EEB54D9AB79B0E"
      unitRef="usd">212000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1347-wk-Fact-2BD8148B62A053248804023446F6D004"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1368-wk-Fact-70BD5870CA5356CF9FB109719ECC35EF"
      unitRef="usd">105454000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1383-wk-Fact-460C1C169F2C50D6BBA43FCC92EA1A8C"
      unitRef="usd">89226000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1402-wk-Fact-45EEEC7410115C24A743D0095D1CE277"
      unitRef="usd">359000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1421-wk-Fact-01C2E27D03015A1BB3DEC6E2B1D85CD0"
      unitRef="usd">9000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1442-wk-Fact-372AA5B3071F5B75BAC8CCD615F5883C"
      unitRef="usd">89576000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1462-wk-Fact-BE915C2213605327A7AA783ED75325BC"
      unitRef="usd">86990000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1481-wk-Fact-3600A6F5A5EC58D198E00C343E31D1DB"
      unitRef="usd">222000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1500-wk-Fact-91E23C9D8A4155B998E3FE72362D372C"
      unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1521-wk-Fact-1705A0AB9BA055908E7E9FADE0735375"
      unitRef="usd">87209000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1541-wk-Fact-2893BBC616695DB7A051B871D23488AF"
      unitRef="usd">6286000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1560-wk-Fact-A66932CCF6FD5794AC4A35E961D9CAB8"
      unitRef="usd">14000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1579-wk-Fact-8B82A1A1337D5475A6B178F7F798E15B"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1599-wk-Fact-5B9FADD272AE53BDB741C996077B037A"
      unitRef="usd">6300000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1619-wk-Fact-FA6B5DB687EA5EAF8908E5577428C419"
      unitRef="usd">3535000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1638-wk-Fact-0A6A8B363D3953C8AD2D4A5436CC0C9F"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1657-wk-Fact-F473035826795FD8992DEA503D854795"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1678-wk-Fact-137880FD66DF55429FC3DF3EEFF23328"
      unitRef="usd">3533000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1779-wk-Fact-395B6D7AB85A56F0A1A54C2C504614BF"
      unitRef="usd">255441000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1798-wk-Fact-CF79EA7931045AA0ADBAB51906E02D62"
      unitRef="usd">1253000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1817-wk-Fact-FAB31E76411B570DBE7B1502390096AA"
      unitRef="usd">79000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1838-wk-Fact-D3916A81341C54BFB4B6A8FC6FFFC06D"
      unitRef="usd">256615000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1858-wk-Fact-D277ED451D6DF333BB33B21D4A627C8D"
      unitRef="usd">167464000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1877-wk-Fact-D20135C176AE99C319CCB21D4E00BCC6"
      unitRef="usd">584000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1896-wk-Fact-AE78A453299BDD2248E6B21D5192A46A"
      unitRef="usd">50000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1917-wk-Fact-126CFBD7C97B0615B19FB21D54D94C30"
      unitRef="usd">167998000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1937-wk-Fact-40A1F25DFFBF5B54AE029B4FDCC2C263"
      unitRef="usd">56636000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1956-wk-Fact-C21CA9ACCA2F5DBE940C827547D6AD78"
      unitRef="usd">195000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1975-wk-Fact-CCC2473E6A055144B80F9ABA6BE3C2E9"
      unitRef="usd">15000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e1996-wk-Fact-E4CC320EF7EE5C9996EA7BBA5345C004"
      unitRef="usd">56816000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2017-wk-Fact-71EA2838BC21569BA31F3AA5037A2201"
      unitRef="usd">15969000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2036-wk-Fact-900A7B7AD155592A8948B8C17AAEE934"
      unitRef="usd">43000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2055-wk-Fact-11C43CC4F2D95C6DAE4121072D8336F6"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2076-wk-Fact-69EE9D2C19A053E9962BA4FC451EEC27"
      unitRef="usd">16000000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2096-wk-Fact-79A3662BDE715F44B6A7C95D7E4F266A"
      unitRef="usd">5930000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2115-wk-Fact-D1D5747FF57A56A694ECB0BFBF637C9F"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2134-wk-Fact-31518CF0EAED5A03814FCF8A1039A8CC"
      unitRef="usd">25000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2155-wk-Fact-2B195D60FCBC5AFA98698E4538FB92DF"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2175-wk-Fact-B6C2C7AE53115174A181E291FD4D68E4"
      unitRef="usd">1300000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2194-wk-Fact-FAE54C4AE1AB53FA8CF41AA9E1F6BD02"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2213-wk-Fact-DE3E285FA0B85FF19B0D988B9403EB98"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember"
      decimals="-3"
      id="d19099207e2233-wk-Fact-BF700ABF3A09598089F0110FDE4AB280"
      unitRef="usd">1307000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e2258-wk-Fact-2D9E2889BDBA57CC9C5AAB9D24FEBBC0"
      unitRef="usd">794031000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e2277-wk-Fact-34458C2ABE165B558F5E0214A53191CB"
      unitRef="usd">2889000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e2296-wk-Fact-D41AF74CA5405AB3BDB41C96B0F81C40"
      unitRef="usd">207000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecurities
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e2317-wk-Fact-B623221EF84F5FEAA5CC19B04BFB4380"
      unitRef="usd">796713000</us-gaap:AvailableForSaleSecurities>
    <us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-81D37186A8F958D98B06159C7D534264-0-wk-Fact-1CCDA8DCA8E2510687761ECCC2F5EF12">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:9%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&#160;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,863&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(91&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108,863&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(91&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;23,263&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(17&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;20,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(36&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;43,976&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(53&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,093&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;19,242&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(24&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,558&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,558&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(25&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;343&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;343&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;160,738&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(160&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;29,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(47&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;189,887&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2766-wk-Fact-A5ECBE933DF95ACF4FE5B21F8381C2AB"
      unitRef="usd">108863000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2785-wk-Fact-A11411E117DA367B2A0FB21F85DDD8CF"
      unitRef="usd">91000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2805-wk-Fact-BF515CC0F715148FD4FBB21F8899D0EC"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2825-wk-Fact-AE3843C54575E42167F7B21F8AB1F770"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2844-wk-Fact-CFF5F75A13904EAE758CB21F8D4818AC"
      unitRef="usd">108863000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e2864-wk-Fact-48C19EAB4C4842EE71C6B21F8F6F3E0B"
      unitRef="usd">91000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2880-wk-Fact-178984C7A73750749B46BD9B6E73F574"
      unitRef="usd">23263000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2899-wk-Fact-9165E3A747395F7B95D869E2E2760425"
      unitRef="usd">17000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2919-wk-Fact-F2CFEF0A9AD0561E84FBDDC5561C42AB"
      unitRef="usd">20713000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2939-wk-Fact-6413D5070C5A5926A4F8BD664CC7D830"
      unitRef="usd">36000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2959-wk-Fact-320DF71C2F755D979B74948E7C9A7339"
      unitRef="usd">43976000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e2978-wk-Fact-97D0ADFA40B950418A8EF629F5196A7E"
      unitRef="usd">53000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3000-wk-Fact-82F023751DF751718C42A36FFE9A8E75"
      unitRef="usd">11149000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3019-wk-Fact-B45CB9A13AD75225A80265612C1C5F67"
      unitRef="usd">15000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3039-wk-Fact-F2D92C8C484C555FB9F4FF6B02B8F76F"
      unitRef="usd">8093000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3059-wk-Fact-A42AD043773B597AA7C8091FA23F664D"
      unitRef="usd">9000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3079-wk-Fact-7B2470D5B4595FF8989802942955295C"
      unitRef="usd">19242000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e3098-wk-Fact-D47BCCDD3E5C5D99AE2B13574A21E2C4"
      unitRef="usd">24000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e3120-wk-Fact-6F96D4B0C42E41A420B0B2204A130165"
      unitRef="usd">11558000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e3139-wk-Fact-2C5AF5C63A756BD4D77BB2204C971313"
      unitRef="usd">12000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e3198-wk-Fact-326D9EDF13BD153A6A93B2205365BB04"
      unitRef="usd">11558000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e3217-wk-Fact-096741BA51E897FE5712B22055AE430D"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3239-wk-Fact-099D789F8E965A0BB031722F7AA2B0D0"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3258-wk-Fact-F9004AA141F55AF0826FAC2558587C1C"
      unitRef="usd">25000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3278-wk-Fact-BC889A423F1A593083AD8E7F0D98D1AC"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3298-wk-Fact-09F3BD4BE9375AFE92C9BED9B7EEA4D1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3317-wk-Fact-5159E7FB7E2256F0A2D77621B83127D4"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e3336-wk-Fact-7B1D33B2386259438626B1843DB42923"
      unitRef="usd">25000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3358-wk-Fact-B25D62513D285F3F985A1F902F3C8097"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3377-wk-Fact-4A71CA1AC2655469A1598E1A11E85DD6"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3396-wk-Fact-4643FB31CD21525DBF0C9DE7CDBFCB41"
      unitRef="usd">343000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3416-wk-Fact-2711A9B041BD53B5ADEC4063D622F59A"
      unitRef="usd">2000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3436-wk-Fact-BEE874FF54BD577FAD67AD3AC4BFD9C5"
      unitRef="usd">343000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e3455-wk-Fact-F01B48E5C2C250F1BF0663111715C78F"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3482-wk-Fact-62710CA950DD5B81BAD1BC41A2976A02"
      unitRef="usd">160738000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3500-wk-Fact-D43E8C3E665E512191412A83433131E0"
      unitRef="usd">160000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3519-wk-Fact-F0E844655C6A5CC2A3D2787CE7CB29CC"
      unitRef="usd">29149000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3538-wk-Fact-E1A4D1F4360B5F89A4824934E0C90BB7"
      unitRef="usd">47000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
    <us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3557-wk-Fact-7C04C13742715563B87E9110DF77EB4F"
      unitRef="usd">189887000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e3576-wk-Fact-D41AF74CA5405AB3BDB41C96B0F81C40"
      unitRef="usd">207000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedGains
      contextRef="FD2019Q3QTD"
      decimals="0"
      id="d19099207e3601-wk-Fact-A3765C80E9985581B2735D681A417B03"
      unitRef="usd">361000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19099207e3605-wk-Fact-9EC866A10EAB5293929D9C98743E38B1"
      unitRef="usd">67000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedGains
      contextRef="FD2018Q3QTD"
      decimals="0"
      id="d19099207e3613-wk-Fact-79953DCFAD18595B82F80C751C153B8F"
      unitRef="usd">283000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="FD2018Q3QTD"
      decimals="0"
      id="d19099207e3617-wk-Fact-44E33C51CA305F76ACAA484D0C3CEE5A"
      unitRef="usd">17000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedGains
      contextRef="FD2019Q3YTD"
      decimals="0"
      id="d19099207e3626-wk-Fact-E0C2DBC706B459BA95FE321CF8E19ADC"
      unitRef="usd">818000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="FD2019Q3YTD"
      decimals="0"
      id="d19099207e3630-wk-Fact-39892240B2945F229EC29FC6C1B14827"
      unitRef="usd">103000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedGains
      contextRef="FD2018Q3YTD"
      decimals="0"
      id="d19099207e3638-wk-Fact-4C9C1AB6F227585298F2601BA20837A9"
      unitRef="usd">646000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
    <us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses
      contextRef="FD2018Q3YTD"
      decimals="0"
      id="d19099207e3642-wk-Fact-49FB0270EC5152F2BF34E98C7B1EB217"
      unitRef="usd">111000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-174AC0EE0D8A5926BFF184C414C0EA20-0-wk-Fact-92B6C143C3905ACA9653BE71F9711AF1">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&#x2019;s available-for-sale investments as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="24"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:35%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:8%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;105,454&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;188,398&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;68,217&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;362,069&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;87,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;115,941&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;47,842&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,348&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,867&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;255,207&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;89,576&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21,425&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;26,142&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7,633&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,616&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;146,392&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;22,300&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,905&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,533&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,840&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;292,072&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;341,764&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;149,413&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,981&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,483&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;796,713&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3837-wk-Fact-C302571B247D53BD9E477B5DBAE5587D"
      unitRef="usd">105454000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3856-wk-Fact-6C5CF698FAA35F358AC16B4721CEC577"
      unitRef="usd">188398000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3875-wk-Fact-88BB276143465D4590F06B979B6ECF91"
      unitRef="usd">68217000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3895-wk-Fact-75343CB246CF5FE38C626F1A126F33EC"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3914-wk-Fact-54D80A7048815123BB9650828E0832A1"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_USTreasurySecuritiesMember"
      decimals="-3"
      id="d19099207e3934-wk-Fact-5D17D0B9019B5F109273C2749A387DE1"
      unitRef="usd">362069000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e3949-wk-Fact-3097D00FF84355F489864B795068FB31"
      unitRef="usd">87209000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e3968-wk-Fact-9878767E910053ADA296B69B601B7649"
      unitRef="usd">115941000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e3987-wk-Fact-78DEDF13FD6C548786BFE0EC60F8AC0A"
      unitRef="usd">47842000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e4007-wk-Fact-3542EB1FBD715B7A9958BFB653EA4C8A"
      unitRef="usd">1348000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e4026-wk-Fact-6CEC44BE46A953BCA57F54FD3807A71D"
      unitRef="usd">2867000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_CorporateBondSecuritiesMember"
      decimals="-3"
      id="d19099207e4045-wk-Fact-CFFF119E00875AEAA12CE51EE2DABF52"
      unitRef="usd">255207000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4066-wk-Fact-6C264573324C50CFB9CB524A61186B1D"
      unitRef="usd">89576000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4085-wk-Fact-D4F0081460D552DC8D7643ECAF08937C"
      unitRef="usd">21425000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4104-wk-Fact-6427FAE211C858929D68801D074C2E70"
      unitRef="usd">26142000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4124-wk-Fact-9F49B74CC3CC5D58BD74C1DF222C1A67"
      unitRef="usd">7633000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4143-wk-Fact-FB21BDFB55FA59FDB8EC68E8EBFA4F2C"
      unitRef="usd">1616000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_AssetBackedSecuritiesMember"
      decimals="-3"
      id="d19099207e4162-wk-Fact-208AEB17E4E85350B70D4046FB95ED92"
      unitRef="usd">146392000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4183-wk-Fact-3BE9A23FA0E051E7BE561731A5E11147"
      unitRef="usd">6300000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4202-wk-Fact-2C52E728C3F0526BBE5913DAD1DB116C"
      unitRef="usd">16000000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4221-wk-Fact-587A13C3B8C65D7CB6AF13ECCD5E9FBB"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4241-wk-Fact-D8502343ECF95199B8116BA3EE3EC6C0"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4260-wk-Fact-6F937E4B58765440AB8806553B600062"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_SovereignDebtSecuritiesMember"
      decimals="-3"
      id="d19099207e4279-wk-Fact-E6406A18D3885F1E89213647CB6268F8"
      unitRef="usd">22300000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4300-wk-Fact-9B0C8847085153529D7FC790FDA8AA34"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4319-wk-Fact-8C1976C399705624A4943A06E8EA5DB9"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4338-wk-Fact-2F43202C02B7574B9CCCF065E19DB894"
      unitRef="usd">5905000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4358-wk-Fact-0C74409DD3805AC1BA958E1437EB8C19"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4377-wk-Fact-C66AC8A3B4545703802A732F7CCB65A4"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_cgnx_AgencyBondsMember"
      decimals="-3"
      id="d19099207e4396-wk-Fact-6453EDB71B8E5FB1BC7CF25136D04AC3"
      unitRef="usd">5905000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4417-wk-Fact-A5507D1A9ED25DFAB7A617BDB69FF46C"
      unitRef="usd">3533000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4436-wk-Fact-1ED20E68D64C5900BB413EB2D0E0E4A7"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4455-wk-Fact-1309A14EA1935C2E88B132680B4B3A02"
      unitRef="usd">1307000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4475-wk-Fact-1D2DDCCF71E851A688DCA1EAD9648608"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4494-wk-Fact-5FAC6293338158F3BB4C16EB453C9EA4"
      unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3_us-gaap_FinancialInstrumentAxis_us-gaap_MunicipalBondsMember"
      decimals="-3"
      id="d19099207e4513-wk-Fact-C005BE7D596D5F678D01E4604C8C866C"
      unitRef="usd">4840000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4539-wk-Fact-2F54245C3A485E758A54CB9AA038E37C"
      unitRef="usd">292072000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4557-wk-Fact-7496897747205EAC8F18D700BBB2FE1D"
      unitRef="usd">341764000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4575-wk-Fact-F1A184A251605C9FAEB4A73F171722D1"
      unitRef="usd">149413000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4594-wk-Fact-305278B7DFF557C0BBF26D04B8A02FE8"
      unitRef="usd">8981000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
    <cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4612-wk-Fact-004B3D10363F5CE5B56080CA2B16C5E3"
      unitRef="usd">4483000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099207e4631-wk-Fact-7503CCFFB8D35D38BB8D3F3A083D3D33"
      unitRef="usd">796713000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-568D443C6FB55E778629E12D5E6CDCF3-0-wk-Fact-9FDA06FA3FCA5849BDC44953A8AECC32">Inventories&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;30,283&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;42,738&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,848&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,435&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;30,133&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;37,109&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;65,264&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;83,282&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-5E80F21177E7590BA26BA5A6AE78F196-0-wk-Fact-EB0A26EB643550C9AD9093A4DFD85A9F">&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="8"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;30,283&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;42,738&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,848&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,435&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;30,133&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;37,109&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;65,264&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;83,282&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19092646e431-wk-Fact-97B657EA56835A93B392D5947328AF23"
      unitRef="usd">30283000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19092646e450-wk-Fact-A17566C6B7875167856B5EEB6B054F10"
      unitRef="usd">42738000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19092646e465-wk-Fact-976F7F1B81C1580E88EED8FE3AB93CB2"
      unitRef="usd">4848000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19092646e484-wk-Fact-3463BE42155353758F7653F47B29B3E2"
      unitRef="usd">3435000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19092646e504-wk-Fact-AD315C3C41CD529881BCAA53DC390913"
      unitRef="usd">30133000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19092646e523-wk-Fact-6045E83DE8575CD5A2C8DB9578C148E0"
      unitRef="usd">37109000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19092646e548-wk-Fact-A30014C259F05615B105E26FF5ECC64E"
      unitRef="usd">65264000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19092646e567-wk-Fact-857C72E7F06850F0AE2F72050E98B439"
      unitRef="usd">83282000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-85B91D4A11895749AEAD5439A3A58E24-0-wk-Fact-71CA09CBD63252FAB3CB7146594C7790">Leases&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842,  &#x201c;Leases,&#x201d; using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date.  Accordingly, the Company recorded lease assets &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;of $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;17,522,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, current lease liabilities of $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,736,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, and non-current lease liabilities of $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;12,669,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; on its Consolidated Balance Sheet as of January 1, 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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.  There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  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 the leases outstanding as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The total operating lease expense for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; was $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,749,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$4,976,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total operating lease cash payments for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; was $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,708,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$4,778,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;22,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$255,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Future operating lease cash payments are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;"/&gt;&lt;td style="width:3%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,650&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,628&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,314&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,831&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,988&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;831&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;309&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;17,551&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The discounted present value of the future lease cash payments resulted in a lease liability of $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;16,167,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The weighted-average discount rate was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4.8&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;% for the leases outstanding as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  The weighted-average remaining lease term was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3.6 years&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the leases outstanding as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022.  Rental income was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$76,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$77,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the three-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively. Rental income was $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;234,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;236,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;"/&gt;&lt;td style="width:3%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;77&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="I2019Q1Jan01"
      decimals="-3"
      id="d19093201e351-wk-Fact-DE8D79171F5C52DAB129E2A60AE0C4CC"
      unitRef="usd">17522000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="I2019Q1Jan01"
      decimals="-3"
      id="d19093201e355-wk-Fact-746FE7EA795A5463BBAAEFDD7E41D11D"
      unitRef="usd">4736000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="I2019Q1Jan01"
      decimals="-3"
      id="d19093201e359-wk-Fact-5583C7C6D000512BB7C2A9F10FD2A0EC"
      unitRef="usd">12669000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseCost
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19093201e384-wk-Fact-A7CB2C103E8C5E7E87958749C7119988"
      unitRef="usd">1749000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19093201e388-wk-Fact-176701A19921577385B99173533B6C86"
      unitRef="usd">4976000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeasePayments
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19093201e396-wk-Fact-3423D42C6D9E5D01AD4118328A5C20B3"
      unitRef="usd">1708000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19093201e401-wk-Fact-DEB48864F6A05BD091F3E5A44E439AD8"
      unitRef="usd">4778000</us-gaap:OperatingLeasePayments>
    <us-gaap:LeaseCost
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19093201e405-wk-Fact-984314727D1356F2969E41B40E6F0064"
      unitRef="usd">22000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19093201e409-wk-Fact-65D6BD64801156A2BF6D05DE29F1F9DD"
      unitRef="usd">255000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-86051D23FFE9587B8C51A3877C8DF720-0-wk-Fact-11C7488E04D2568E8AC26019D734D2C8">&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Future operating lease cash payments are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;"/&gt;&lt;td style="width:3%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,650&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,628&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,314&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,831&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,988&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;831&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;309&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;17,551&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e478-wk-Fact-5F339082D3A550AFB631B8BC7C715BD9"
      unitRef="usd">1650000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e498-wk-Fact-EB7E3D11AD885F7C881E1F5760773E8E"
      unitRef="usd">5628000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e523-wk-Fact-76CC4F69D4FC5D60BF2DA4DF409F8347"
      unitRef="usd">4314000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e548-wk-Fact-F45B10294BAE587494576A41FD7001EB"
      unitRef="usd">2831000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e573-wk-Fact-2489036B45B85861B0ADDFABC6C32B0A"
      unitRef="usd">1988000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <cgnx:LesseeOperatingLeaseLiabilityPaymentsDueYearSix
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e598-wk-Fact-E7D366D4BC12557CA9F11BCE87F2686A"
      unitRef="usd">831000</cgnx:LesseeOperatingLeaseLiabilityPaymentsDueYearSix>
    <cgnx:LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e623-wk-Fact-5214858E437D55A09FC130FB0FB83245"
      unitRef="usd">309000</cgnx:LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e653-wk-Fact-71D624300B475624AB26BA43BEB2A3B0"
      unitRef="usd">17551000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseLiability
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e664-wk-Fact-D9ECD0C37A095B5D9BF7047FDF8F4E2C"
      unitRef="usd">16167000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="FI2019Q3"
      decimals="1"
      id="d19093201e675-wk-Fact-7706A6783A38595898045FBCAD55E549"
      unitRef="number">4.8</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="FI2019Q3"
      id="d19093201e683-wk-Fact-8DE125E676665B95888FD74E717B2A59">P3Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19093201e698-wk-Fact-4E2FE2EDC3055175B048DE1861BFF201"
      unitRef="usd">76000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19093201e702-wk-Fact-E71898D02D8B5585AD52E907490C8CD5"
      unitRef="usd">77000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19093201e714-wk-Fact-D4722E7242365CD29C088BAF7E719739"
      unitRef="usd">234000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19093201e719-wk-Fact-FE5F60FC2DB45FB6A86370439C879568"
      unitRef="usd">236000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-00F0B83F16675C7B98D95DEC4B15A169-0-wk-Fact-2E30F6A668525FE0B254512C8784AD24">&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:84%;"/&gt;&lt;td style="width:3%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;77&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;307&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;998&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:LessorOperatingLeasePaymentsToBeReceivedMaturityTableTextBlock>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e793-wk-Fact-67D8E627741455808644F3332A58C1A0"
      unitRef="usd">77000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e813-wk-Fact-47A65F7C7CF451A899D19BB3ADA8B2FD"
      unitRef="usd">307000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e838-wk-Fact-BA64ABE8D7125A0381AFD045FEEB8B69"
      unitRef="usd">307000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e863-wk-Fact-E9A916FE5F475022BCFE595C72323F89"
      unitRef="usd">307000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceived
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19093201e893-wk-Fact-81B7C4E8CAAA5C44ACF5C819B938B254"
      unitRef="usd">998000</us-gaap:LessorOperatingLeasePaymentsToBeReceived>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-C9BCC718234E5EEF902248E706450F1A-0-wk-Fact-D372218606815F3D98D11453DB11DF6A">Intangible Assets&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;13,687&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,261&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,426&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,607&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,506&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;370&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;308&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;62&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;60,724&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;52,730&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7,994&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:inherit;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;13,687&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,619&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7,068&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,607&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,716&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,891&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;370&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;216&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;154&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;60,724&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;50,611&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;10,113&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;582&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,185&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,017&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,691&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;989&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;422&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7,994&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-1FBA785E8BDE5B219AA33B2C9A6E5CE5-0-wk-Fact-1D2B6B2D63E05E14B20DEAD61D64BC6E">&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;13,687&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,261&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,426&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;8,607&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,101&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,506&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;370&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;308&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;62&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;60,724&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;52,730&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7,994&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:inherit;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;38,060&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;13,687&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,619&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7,068&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;8,607&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,716&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,891&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;370&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;216&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;154&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;60,724&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;50,611&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;10,113&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e464-wk-Fact-070030F4247A556CA9733341C4D3FEEE"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e483-wk-Fact-6AC4A1AAAC715C74823503650CB90E59"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e502-wk-Fact-3DE3CAA9C49E5A959A5BC0CF65E0F259"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e518-wk-Fact-D444A8ADDCFA5058B292418E3647547C"
      unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e537-wk-Fact-2020F76D593854BC8A56CAE0CCBD1215"
      unitRef="usd">8261000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e556-wk-Fact-052D37276A8A5C46AB6C1D5C3647D3A1"
      unitRef="usd">5426000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e577-wk-Fact-9D4B60574E495C9B9CE063EE2F7FE296"
      unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e596-wk-Fact-4171C2F8A5505E298C106894A93653AC"
      unitRef="usd">6101000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e615-wk-Fact-7FAE594B51505F72B3FA7C775ADF59E7"
      unitRef="usd">2506000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e636-wk-Fact-BAFC70F4FEF05DA281D2F408B7B3DD98"
      unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e655-wk-Fact-3A4A1D865E9C5593B9FE2E69CA386658"
      unitRef="usd">308000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e674-wk-Fact-9918115C60EA52D387006A32BDE3AA2E"
      unitRef="usd">62000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e700-wk-Fact-1429797A3032512F879EDA805A44A328"
      unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e719-wk-Fact-690EA0663834509CB974699D2A02F277"
      unitRef="usd">52730000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e738-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3"
      unitRef="usd">7994000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e898-wk-Fact-96A9BB26F87D53A3ADEA88E4003F30C0"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e917-wk-Fact-DA0F87A73562558E90738677BFE5218F"
      unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember"
      decimals="-3"
      id="d19094456e936-wk-Fact-14CD20C15C025B97B20860B02D6A14EF"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e952-wk-Fact-8DBD40FB7FAB50E39BD3D1BA716C99CA"
      unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e971-wk-Fact-E32B7D008B7855238A84D40D12F19B59"
      unitRef="usd">6619000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember"
      decimals="-3"
      id="d19094456e990-wk-Fact-1DEE11015AFC55CD867E1A3D8DF0309B"
      unitRef="usd">7068000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e1011-wk-Fact-43C17D1A8AA1581581649F34D92E70D2"
      unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e1030-wk-Fact-49EC5701C07B5F97BF894B39FCB86392"
      unitRef="usd">5716000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember"
      decimals="-3"
      id="d19094456e1049-wk-Fact-007F363BAF595D828798AFBD1BE12C64"
      unitRef="usd">2891000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e1071-wk-Fact-E4BCF49D9D2252FB82B382E4630584A7"
      unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e1090-wk-Fact-54FFF62B55485D5FA207953C782118FA"
      unitRef="usd">216000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember"
      decimals="-3"
      id="d19094456e1109-wk-Fact-C6073F7D5F4758D0B42940ABA6F6D454"
      unitRef="usd">154000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19094456e1135-wk-Fact-F94C96087F085497B9F2E41D7FAD6A28"
      unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19094456e1154-wk-Fact-17A2D232E25F5FCD963143E57461D16C"
      unitRef="usd">50611000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19094456e1173-wk-Fact-32E11519B899549AA2BDA26070371C13"
      unitRef="usd">10113000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-94B966E8001858919DC4FF9E7BE843C1-0-wk-Fact-3412417FF0BD5F04A3545F24B9A8678C">&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="5"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&#160;31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amount&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;582&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,185&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,017&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,691&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;989&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;422&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;108&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7,994&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1251-wk-Fact-C751B612951451089926A68646D5BED3"
      unitRef="usd">582000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1271-wk-Fact-6724A965270C5024AF7C9C2B95063ABF"
      unitRef="usd">2185000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1296-wk-Fact-0A975465CBC45482942926820B4FFA0C"
      unitRef="usd">2017000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1321-wk-Fact-E6DD53F4847A557493A81F08762CC2E6"
      unitRef="usd">1691000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1346-wk-Fact-0417A8D4DCBB5B47AA37D78CDB1864D5"
      unitRef="usd">989000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1371-wk-Fact-D321EA729CF35E989162B2FB85F8CC0F"
      unitRef="usd">422000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1396-wk-Fact-3033B6BCF3F35AC79050126725AA13FC"
      unitRef="usd">108000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19094456e1426-wk-Fact-13DA2A835FAB5BC4922A279E1CD32BF3"
      unitRef="usd">7994000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-F773DABDF85D566EBFD1A06F3E38E87A-0-wk-Fact-90F4BAABFD355E85BE5FC623164B6048">Warranty Obligations&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 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="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,743&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,301&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2,770&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,274&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-ACFC2F67E5165FE79EC57A31F754DE64-0-wk-Fact-A7D6B89C836054F6BAB6D5261073065D">&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:16%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4,743&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,301&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2,770&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,274&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19099421e389-wk-Fact-2A0B4285CEF55A0EB7F8F47A2FB50B89"
      unitRef="usd">4743000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19099421e404-wk-Fact-72F5B25BC87B589FA1A281AF5D9C8707"
      unitRef="usd">3301000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19099421e424-wk-Fact-50A5E27B4E9655BD8FE88D0CA04677F1"
      unitRef="usd">2770000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19099421e450-wk-Fact-4BAE439B308F5CEA9D02B144856951B5"
      unitRef="usd">5274000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-E53542319BEF52F293D300B40CD0A2D8-0-wk-Fact-46B111F9E3EA5584BE325F99A82ADD2E">Derivative Instruments&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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.  Currently, the Company enters into economic hedges to manage this risk.  The economic hedges utilize foreign currency forward contracts with maturities of up to &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;45&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; days to manage the exposure &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:10%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Euro&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;18,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19,697&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;23,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;26,330&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;600,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,563&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;380,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,459&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Mexican Peso&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;90,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,560&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,550&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,500&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,204&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,660,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,053&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,125,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,808&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;840,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,739&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;750,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,685&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;45,700&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,478&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;55,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,807&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,100&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;830&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;990&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;726&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;700&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;514&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:17%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:10%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br/&gt;Location&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br/&gt;Location&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Prepaid&#160;expenses&#160;and other current assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:18%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:19%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/span&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="18"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;469&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;299&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;535&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(366&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1
      contextRef="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      id="d19103597e354-wk-Fact-568DBE5C196555F89ACF7E6063AF4DCB">P45D</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
    <cgnx:OutstandingForwardContractsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-A1061E3D2D98558FB951C169EA378DFE-0-wk-Fact-F0D6C549B7AC5098B320E1AD7116342E">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="14"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:10%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br/&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br/&gt;Equivalent&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Euro&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;18,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19,697&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;23,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;26,330&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;600,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,563&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;380,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,459&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Mexican Peso&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;90,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,560&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,550&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,149&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,500&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,204&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,660,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,053&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,125,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,808&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;840,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2,739&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;750,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,685&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;45,700&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,478&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;55,000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,807&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,100&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;830&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;990&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;726&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;700&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;514&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</cgnx:OutstandingForwardContractsTableTextBlock>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e617-wk-Fact-84BA53C91A085192932878B5471333C0"
      unitRef="eur">18000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e636-wk-Fact-EA187566CD2F54909DF22808BC9A4ADA"
      unitRef="usd">19697000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e650-wk-Fact-304DBD7096985E43B0CBC4C28040998C"
      unitRef="eur">23000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e670-wk-Fact-4EFDF07A207256F69E3C3BD538C243EC"
      unitRef="usd">26330000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e685-wk-Fact-56D0D919109F58649A9528F89B961267"
      unitRef="iso4217_JPY">600000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e699-wk-Fact-4D1B1F900F7F55FBBD35283165A06BFC"
      unitRef="usd">5563000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e718-wk-Fact-2B122819A00D5AFE9E0530F54D060368"
      unitRef="iso4217_JPY">380000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e733-wk-Fact-FC711E534DAB50158AC8803B0204A818"
      unitRef="usd">3459000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e753-wk-Fact-3F929BBF0BD1E8236DE2EEE776F59F2D"
      unitRef="iso4217_JPY">90000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e767-wk-Fact-957570FD403BDAC48B0CAC29980776A4"
      unitRef="usd">4560000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e786-wk-Fact-D55468871A00EB471DFFAC299AC762BF"
      unitRef="iso4217_JPY">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_MXN_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e801-wk-Fact-4D4D1B16724B8BA3A1B7AC299D92E32D"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e821-wk-Fact-CCFD735A842BB568CC89AC2686B513FF"
      unitRef="iso4217_JPY">2550000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e835-wk-Fact-CA0C3D9FB0B54F81D371AC26892E058F"
      unitRef="usd">3149000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e854-wk-Fact-B543FEED4E228412E9DFAC268BF5B755"
      unitRef="iso4217_JPY">2500000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e869-wk-Fact-9BB3F8B0976C054DDFCBAC268F5460A5"
      unitRef="usd">3204000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e889-wk-Fact-66398623AC212B43D8DEAC28A4FF4C5D"
      unitRef="iso4217_KRW">3660000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e903-wk-Fact-F55079DBD4DC7BBC04D7AC28A731404E"
      unitRef="usd">3053000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e922-wk-Fact-AC81510421046C816886AC28AA158705"
      unitRef="iso4217_KRW">3125000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e937-wk-Fact-AA8E50D6B612F18EB14FAC28ACD2DA52"
      unitRef="usd">2808000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e957-wk-Fact-BC2C608AB33157D69E266709CC643D77"
      unitRef="iso4217_JPY">840000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e971-wk-Fact-6DD06784374857E68399B91886B0AE6B"
      unitRef="usd">2739000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e990-wk-Fact-FEB7B10FF7EC5A4980BFC84FAF98B16E"
      unitRef="iso4217_JPY">750000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1005-wk-Fact-897A75E4C96D51C4B076170C26723CA2"
      unitRef="usd">2685000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1025-wk-Fact-5D9489706B6A5B59A4484AFE248D2E70"
      unitRef="twd">45700000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1039-wk-Fact-6B74A603A6A856AE9CA41352A96322B2"
      unitRef="usd">1478000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1058-wk-Fact-FD79C945056851239631999861D8CCC0"
      unitRef="twd">55000000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1073-wk-Fact-943073021FCF50C1A5B23947D37062A1"
      unitRef="usd">1807000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1093-wk-Fact-5F6D582AA2C75AA0BF04C6D5FC8F4C8A"
      unitRef="cad">1100000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1107-wk-Fact-212FF86867555DADA144929151AFFD0C"
      unitRef="usd">830000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1126-wk-Fact-61B261C09E335B99971BD86A611130C8"
      unitRef="cad">990000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1141-wk-Fact-98F9279F6C095760B1FEC9C32531ED5D"
      unitRef="usd">726000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1162-wk-Fact-51213676FB3D50D89E4C13F65F4B42F4"
      unitRef="sgd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2019Q3_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1176-wk-Fact-BDA66108C5325517AE663DD40FBB0350"
      unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1195-wk-Fact-A0258F7D8A6958509886F8659C524EB6"
      unitRef="sgd">700000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:DerivativeAssetNotionalAmount
      contextRef="FI2018Q4_srt_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1210-wk-Fact-34CA9B8A9B0F5BF8BBB63A3139FB5EAE"
      unitRef="usd">514000</us-gaap:DerivativeAssetNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-D0D01C06F8D656EE9C0EFAD1A296FB64-0-wk-Fact-04FF830E737050C4B966AABEEBB66880">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="20"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:17%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:10%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br/&gt;Location&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br/&gt;Location&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Prepaid&#160;expenses&#160;and other current assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeAssets
      contextRef="FI2019Q3_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1697-wk-Fact-6C83C8F690C85570B3780FDF5A991145"
      unitRef="usd">19000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="FI2018Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1716-wk-Fact-A10F64542EE953689B407A01F4F3864A"
      unitRef="usd">1000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="FI2019Q3_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1746-wk-Fact-BE4B145EBC565EDCBA6D898184434DA2"
      unitRef="usd">70000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="FI2018Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember"
      decimals="-3"
      id="d19103597e1765-wk-Fact-C21C07FD0A5053D0B5D8ED6942A72E4B"
      unitRef="usd">106000</us-gaap:DerivativeLiabilities>
    <us-gaap:OffsettingAssetsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-C9E617C28BDE538786454C5A504BFD7A-0-wk-Fact-82A94DA3822E57479D71E746DC4DDD9A">&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="19"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:18%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:19%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;70&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;106&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:OffsettingAssetsTableTextBlock>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2030-wk-Fact-0DF1E5DD48785B17A94121BAE725F3E2"
      unitRef="usd">19000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeAsset
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2049-wk-Fact-A43A350E6E90536CBCCC4F107048BBAD"
      unitRef="usd">1000</us-gaap:DerivativeFairValueOfDerivativeAsset>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2079-wk-Fact-6590BD6E4E475FD299F5ACC113C9F2B3"
      unitRef="usd">70000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeFairValueOfDerivativeLiability
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2098-wk-Fact-F9890465D4DC53A581DB79D6E3E1B595"
      unitRef="usd">106000</us-gaap:DerivativeFairValueOfDerivativeLiability>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2118-wk-Fact-E5B11C5BBE2357F4B839666F4168788D"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2137-wk-Fact-E73CFD3AFE6D50E5B0B20FA73B393940"
      unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2167-wk-Fact-EA06D1DF3BBA5829A8394C02049EBA88"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2186-wk-Fact-3B90298F945159789CCB5E7150BB152A"
      unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
    <us-gaap:DerivativeAssets
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2216-wk-Fact-AF0751407E63548191E6998B6BDBD775"
      unitRef="usd">19000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeAssets
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2235-wk-Fact-F7198FDE3EB355BCA608BABD632DC50E"
      unitRef="usd">1000</us-gaap:DerivativeAssets>
    <us-gaap:DerivativeLiabilities
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19103597e2265-wk-Fact-F09FD9743DDC52718C9B279F91898114"
      unitRef="usd">70000</us-gaap:DerivativeLiabilities>
    <us-gaap:DerivativeLiabilities
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19103597e2284-wk-Fact-95CC6E66CCDC5DF28697BBFABEEF3531"
      unitRef="usd">106000</us-gaap:DerivativeLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-41B05E37A87854B99DF5F991B36C8AB5-0-wk-Fact-878F6EA24403557C91A351E7797939C6">&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):&lt;/span&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="18"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;span style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;469&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;299&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;535&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(366&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="FD2019Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember"
      decimals="-3"
      id="d19103597e2640-wk-Fact-9CB71765495E5CCA8EE7A11C6D266FF9"
      unitRef="usd">469000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="FD2018Q3QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember"
      decimals="-3"
      id="d19103597e2659-wk-Fact-AEE05F563E9D56CAB4E76E79CCE6D1AE"
      unitRef="usd">299000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="FD2019Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember"
      decimals="-3"
      id="d19103597e2679-wk-Fact-BCC54D761D0D5E3DA0A43FCE1068408A"
      unitRef="usd">535000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:DerivativeGainLossOnDerivativeNet
      contextRef="FD2018Q3YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember"
      decimals="-3"
      id="d19103597e2698-wk-Fact-C2C6321E6E155881BCDA9418A31D8DF9"
      unitRef="usd">-366000</us-gaap:DerivativeGainLossOnDerivativeNet>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-B060CE1D1294504C8DF11AE2A81491A0-0-wk-Fact-3B393CA708A95A96A66564BE2B53F545">Revenue Recognition&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="17"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:36%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Americas&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;65,253&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;57,020&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;208,909&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;187,991&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Europe&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;64,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;118,810&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;182,747&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;245,437&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Greater China&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;27,854&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31,068&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;86,446&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;99,402&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other Asia&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;26,009&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;25,323&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;77,754&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;80,222&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;183,325&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;232,221&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;555,856&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;613,052&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by revenue type (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="17"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:36%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Standard products and services&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;139,887&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;150,993&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;473,610&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;493,019&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Application-specific customer solutions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;43,438&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;81,228&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;82,246&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;120,033&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;183,325&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;232,221&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;555,856&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;613,052&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Costs to Fulfill a Contract&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$4,792,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$3,514,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and December 31, 2018, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounts Receivable, Contract Assets, and Contract Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended  &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  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="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:80%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:18%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;9,845&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Increases to deferred revenue and customer deposits&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;37,351&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Recognition of revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(36,517&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(248&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;10,431&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="FD2019Q3YTD"
      id="TextSelection-2D54D07C00A4577CA3A7BCEFAB4732EF-0-wk-Fact-1490D31276B75A49BC4A26A1DBD24317">&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="17"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:36%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Americas&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;65,253&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;57,020&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;208,909&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;187,991&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Europe&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;64,209&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;118,810&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;182,747&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;245,437&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Greater China&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;27,854&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31,068&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;86,446&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;99,402&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other Asia&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;26,009&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;25,323&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;77,754&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;80,222&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;183,325&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;232,221&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;555,856&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;613,052&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember"
      decimals="-3"
      id="d19100935e570-wk-Fact-17366C06DBA8543EBE27873DFB8B3284"
      unitRef="usd">65253000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_AmericasMember"
      decimals="-3"
      id="d19100935e589-wk-Fact-8944DEA65C2556748BB17379C3FBE012"
      unitRef="usd">57020000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember"
      decimals="-3"
      id="d19100935e609-wk-Fact-752C750EE1AF5820A75D81CE0653DFAF"
      unitRef="usd">208909000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_AmericasMember"
      decimals="-3"
      id="d19100935e628-wk-Fact-556240E7DDFB506EACD94CD1A20898E6"
      unitRef="usd">187991000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember"
      decimals="-3"
      id="d19100935e648-wk-Fact-A8CC86CCDAA45A90BB2422DBA8475E72"
      unitRef="usd">64209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_srt_EuropeMember"
      decimals="-3"
      id="d19100935e667-wk-Fact-23C75DE1ED7F5C72B42053715F13F05E"
      unitRef="usd">118810000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember"
      decimals="-3"
      id="d19100935e686-wk-Fact-ADBF2739B88A56699F2925397B4EA981"
      unitRef="usd">182747000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_srt_EuropeMember"
      decimals="-3"
      id="d19100935e706-wk-Fact-2978F841B73F50D1ADFE28042312B1B9"
      unitRef="usd">245437000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_country_CN"
      decimals="-3"
      id="d19100935e731-wk-Fact-40070D58655C5B369AF3B2A501F5BADF"
      unitRef="usd">27854000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_country_CN"
      decimals="-3"
      id="d19100935e750-wk-Fact-D9A1D30FF14A52FCB6B05227A31D8901"
      unitRef="usd">31068000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_country_CN"
      decimals="-3"
      id="d19100935e769-wk-Fact-49FAA0443B3C5B908B48F4249F9B493B"
      unitRef="usd">86446000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_country_CN"
      decimals="-3"
      id="d19100935e789-wk-Fact-0C4493F224B65357B62D29933125BE1D"
      unitRef="usd">99402000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember"
      decimals="-3"
      id="d19100935e814-wk-Fact-19FFEC1F22DD50DEA428BA511426808C"
      unitRef="usd">26009000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember"
      decimals="-3"
      id="d19100935e833-wk-Fact-E0BC8805C7DD5AFDB99D53096D6AE5E3"
      unitRef="usd">25323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember"
      decimals="-3"
      id="d19100935e852-wk-Fact-1FA475EB4E6F532F918880B4493CB349"
      unitRef="usd">77754000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_StatementGeographicalAxis_cgnx_AsiaExcludingChinaMember"
      decimals="-3"
      id="d19100935e872-wk-Fact-176632859BCD5BAA880E46A3B3443411"
      unitRef="usd">80222000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19100935e902-wk-Fact-D87476BD383254658A0565571FE98076"
      unitRef="usd">183325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19100935e921-wk-Fact-A0B9A3868C4F5663A1427018D1637E20"
      unitRef="usd">232221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19100935e941-wk-Fact-F568A777847051799976291F44866CD6"
      unitRef="usd">555856000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19100935e960-wk-Fact-180D186C103E5E198D3C769752920447"
      unitRef="usd">613052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-E0F548EA060D574C96CEEA926A1D7E25-0-wk-Fact-8F1F71DDF1985A9E867CED42AE5A7966">&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes disaggregated revenue information by revenue type (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="17"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:36%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September 30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Standard products and services&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;139,887&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;150,993&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;473,610&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;493,019&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Application-specific customer solutions&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;43,438&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;81,228&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;82,246&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;120,033&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;183,325&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;232,221&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;555,856&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;613,052&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember"
      decimals="-3"
      id="d19100935e1192-wk-Fact-4813F6B84C2958C193C717340BDE7F55"
      unitRef="usd">139887000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember"
      decimals="-3"
      id="d19100935e1211-wk-Fact-4E3D1F6CBA1653D59FBEBAC60504C8F8"
      unitRef="usd">150993000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember"
      decimals="-3"
      id="d19100935e1231-wk-Fact-6F21776232215754AB2D3B5D8D76DA4F"
      unitRef="usd">473610000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_StandardProductsandServicesMember"
      decimals="-3"
      id="d19100935e1250-wk-Fact-A2DD850C9C425C5BA9276B94133D6F53"
      unitRef="usd">493019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember"
      decimals="-3"
      id="d19100935e1270-wk-Fact-0698EFC82E2C5366844469742F50EDE6"
      unitRef="usd">43438000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember"
      decimals="-3"
      id="d19100935e1289-wk-Fact-2CF5D89BE434572EB3878438B30CA8C4"
      unitRef="usd">81228000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember"
      decimals="-3"
      id="d19100935e1308-wk-Fact-FC05D16375885B6BB28C803ECC1886F5"
      unitRef="usd">82246000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD_srt_ProductOrServiceAxis_cgnx_ApplicationSpecificCustomerSolutionsMember"
      decimals="-3"
      id="d19100935e1328-wk-Fact-3F7943E8F0E4532493A1E92639EA7305"
      unitRef="usd">120033000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19100935e1358-wk-Fact-D87476BD383254658A0565571FE98076"
      unitRef="usd">183325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19100935e1377-wk-Fact-A0B9A3868C4F5663A1427018D1637E20"
      unitRef="usd">232221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19100935e1397-wk-Fact-F568A777847051799976291F44866CD6"
      unitRef="usd">555856000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19100935e1416-wk-Fact-180D186C103E5E198D3C769752920447"
      unitRef="usd">613052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CapitalizedContractCostGross
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19100935e1433-wk-Fact-C4AED3FE06DA5874BC67E126363BDE70"
      unitRef="usd">4792000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:CapitalizedContractCostGross
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19100935e1437-wk-Fact-A3C2177DB76C5001ABAE4B7167B4D78B"
      unitRef="usd">3514000</us-gaap:CapitalizedContractCostGross>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-6BBFEF78DC88517FA2EB0C674A481D5B-0-wk-Fact-A7312A02FB2B5F50A7A69330DA45CCC2">&lt;div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="4"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:80%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:18%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;9,845&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Increases to deferred revenue and customer deposits&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;37,351&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Recognition of revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(36,517&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(248&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Balance as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;10,431&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="FI2018Q4"
      decimals="-3"
      id="d19100935e1509-wk-Fact-E19F93B8559352009EBC68263D1E19F2"
      unitRef="usd">9845000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueAdditions
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19100935e1524-wk-Fact-D58FA024AC1A58049CBCCF6CB2EBCEFB"
      unitRef="usd">37351000</us-gaap:DeferredRevenueAdditions>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19100935e1544-wk-Fact-E0860B11D53450A1BC7DA14F4ACDA3EB"
      unitRef="usd">36517000</us-gaap:DeferredRevenueRevenueRecognized1>
    <cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19100935e1565-wk-Fact-B7E1E24A766B5DCBB728D4AB805A2E4C"
      unitRef="usd">-248000</cgnx:DeferredRevenueForeignCurrencyExchangeAdjustment>
    <us-gaap:DeferredRevenue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19100935e1591-wk-Fact-1D613B8C9D165F1499F06490EDF92436"
      unitRef="usd">10431000</us-gaap:DeferredRevenue>
    <us-gaap:CompensationRelatedCostsGeneralTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-FCC01B16F326505998D1B99B7C5D559F-0-wk-Fact-456EA032CE735F78A0C84AC4DE577FAF">Stock-Based Compensation Expense&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company&#x2019;s share-based payments that result in compensation expense consist of stock option grants and restricted stock units (RSUs).  As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, the Company had &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;17,350,152&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; shares available for grant.  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&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;four&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; or &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;five years&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; based upon continuous service and expire &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;ten years&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; from the grant date.  RSUs generally vest upon &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;three&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; years of continuous employment or incrementally over such three-year period.  Participants are not entitled to dividends on RSUs. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&#x2019;s stock option activity for the &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;13,789&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31.73&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,879&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;51.22&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1,475&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21.53&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(726&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;41.79&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;14,467&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;36.14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7.19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;203,774&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,714&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;25.33&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.73&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;134,913&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of September 29, 2019 (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;13,116&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;34.90&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7.04&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;199,066&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:37%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2.7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2.9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2.7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2.9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;0.39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;0.32&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;0.39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;0.32&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;37&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;37&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5.4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5.3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Risk-free rate&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected term&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The weighted-average grant-date fair values of stock options granted during the three-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$18.42&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$22.52&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The weighted-average grant-date fair values of stock options granted during the nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$18.58&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$21.70&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The total intrinsic values of stock options exercised for the three-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$5,746,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$17,985,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total intrinsic values of stock options exercised for the nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$42,545,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$50,975,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total fair values of stock options vested for the three-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,213,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$997,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total fair values of stock options vested for the nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$32,072,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$27,557,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.   &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Restricted Stock Units (RSUs)&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The fair values of RSUs granted were determined based upon the market value of the Company's common stock at the time of grant.  The initial cost was then amortized over the period of vesting until the restrictions lapsed. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's RSUs activity for the nine-month period ended September&#160;29, 2019: &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="7"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Date    Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;75&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;45.20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;75&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;45.20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The weighted-average grant-date fair values of RSUs granted during the three-month and nine-month periods ended September&#160;29, 2019 were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$45.20&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  There were no RSUs vested for the three or nine-month periods ended September&#160;29, 2019.  There were no RSUs granted or vested in 2018.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Stock-Based Compensation Expense&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company stratifies its employee population into &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;two&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;9%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; to all equity awards for senior management and a rate of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;12%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for all other employees.  Each year during the first quarter, the Company revises its estimated forfeiture rate.  This resulted in a decrease to compensation expense of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$499,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; in 2019 and an increase to compensation expense of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,283,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; in 2018.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, total unrecognized compensation expense related to non-vested stock awards, including stock options and RSUs, was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$59,708,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, which is expected to be recognized over a weighted-average period of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1.60&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The total stock-based compensation expense and the related income tax benefit recognized for the three-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$10,194,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,804,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, and for the three-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$9,143,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,654,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$33,442,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$5,839,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, and for the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; were &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$31,339,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$5,608,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively.  &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;No&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; compensation expense was capitalized as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; or &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;December&#160;31, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:38%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;334&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;544&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,114&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,898&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,616&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,197&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;11,633&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,166&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,244&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,402&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;20,695&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;18,275&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;10,194&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;9,143&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;33,442&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31,339&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationRelatedCostsGeneralTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="FI2019Q3_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember"
      decimals="INF"
      id="d19105712e358-wk-Fact-26EC1D415FDC5DB8B868C8175C638123"
      unitRef="shares">17350152</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="FD2019Q3YTD_srt_RangeAxis_srt_MaximumMember_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember"
      id="d19105712e366-wk-Fact-7DE9D9A829665BC4A891534BE3C420EF">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <cgnx:ExpirationPeriodOfStockOptionPlan
      contextRef="FD2019Q3YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember"
      id="d19105712e370-wk-Fact-03A270B92C3E58D1861B6BD2EDAE0938">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-56BDB533DDAD5B34BF894069D1CDCE60-0-wk-Fact-36FAF0DACB3D5F0EA891A2C7E9DD4768">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&#x2019;s stock option activity for the &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="13"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:11%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&#160;(in&#160;years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&#160;thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;13,789&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31.73&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,879&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;51.22&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1,475&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21.53&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(726&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;41.79&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;14,467&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;36.14&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7.19&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;203,774&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5,714&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;25.33&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.73&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;134,913&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of September 29, 2019 (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;13,116&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;34.90&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:3px double #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;7.04&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;199,066&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="FI2018Q4"
      decimals="-3"
      id="d19105712e530-wk-Fact-0CCA0480824E54FC93D2F442DA9CF4B5"
      unitRef="shares">13789000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="FI2018Q4"
      decimals="2"
      id="d19105712e549-wk-Fact-40CC9A6725EE5B8698EC164FF19AFB00"
      unitRef="usdPerShare">31.73</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e595-wk-Fact-30232C80C3695F9D881298ADEF5DA05A"
      unitRef="shares">2879000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e609-wk-Fact-736E54AABF0D54ED977072577F9ABAEA"
      unitRef="usdPerShare">51.22</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e660-wk-Fact-DA182730CA6B5B53937DF323E8FAAB9A"
      unitRef="shares">1475000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e675-wk-Fact-5E0D388A49E15654A72B5253DC4C0189"
      unitRef="usdPerShare">21.53</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e726-wk-Fact-73041357EFFD5918BE21E488AF983DC0"
      unitRef="shares">726000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e741-wk-Fact-887EE9BEA5A456D1AA0FC9FB5D957BEA"
      unitRef="usdPerShare">41.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e792-wk-Fact-BE811250EA9D5C04890DB39981CBBE68"
      unitRef="shares">14467000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="FI2019Q3"
      decimals="2"
      id="d19105712e811-wk-Fact-CF315C94EDC65699B2F5792113712494"
      unitRef="usdPerShare">36.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="FD2019Q3YTD"
      id="d19105712e825-wk-Fact-4D938756CBE458429A4B81331BFAFC68">P7Y2M8D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e841-wk-Fact-86E8D335EC8F599E951270A8625E7405"
      unitRef="usd">203774000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e856-wk-Fact-B5CB9352C2675907A48537A44E253DC9"
      unitRef="shares">5714000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="FI2019Q3"
      decimals="2"
      id="d19105712e875-wk-Fact-86A68B04845F5C9BA3DB1A3D6EA27307"
      unitRef="usdPerShare">25.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="FD2019Q3YTD"
      id="d19105712e889-wk-Fact-29DD594848425615B7417D089FA50686">P5Y8M23D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e905-wk-Fact-35396A3AE6185E17BA62748BFCB2D686"
      unitRef="usd">134913000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e920-wk-Fact-6FE1A8F09F2A554F8947DC1E06B9A5DF"
      unitRef="shares">13116000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="FI2019Q3"
      decimals="2"
      id="d19105712e939-wk-Fact-D68A63E4DBF055B6906CCB7F8CD65BF5"
      unitRef="usdPerShare">34.90</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="FD2019Q3YTD"
      id="d19105712e953-wk-Fact-06B74D5A4E035D19A44D0208CEB05524">P7Y14D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19105712e969-wk-Fact-DC9C7CC03C6D58F0AC88223B8BD57174"
      unitRef="usd">199066000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-CAA024EE9D0050E9B2DA464691752B07-0-wk-Fact-750849A324DD517A87D3CE819025EE9C">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:37%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2.7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2.9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2.7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2.9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;0.39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;0.32&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;0.39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;0.32&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;37&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;37&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;39&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5.4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;5.2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5.3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="FD2019Q3QTD"
      decimals="3"
      id="d19105712e1163-wk-Fact-F4EC3B4AC14B53318AB564D4DC827549"
      unitRef="number">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="FD2018Q3QTD"
      decimals="3"
      id="d19105712e1178-wk-Fact-20B4841F6671551A957A5DBBF80C1D59"
      unitRef="number">0.029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="FD2019Q3YTD"
      decimals="3"
      id="d19105712e1193-wk-Fact-B12CF66C30F25A618341DD359CC64E4E"
      unitRef="number">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="FD2018Q3YTD"
      decimals="3"
      id="d19105712e1208-wk-Fact-C34D0931BF5054188866C370684F5350"
      unitRef="number">0.029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="FD2019Q3QTD"
      decimals="4"
      id="d19105712e1225-wk-Fact-1095C1FB3C415080853501C65AD27DE7"
      unitRef="number">0.0039</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="FD2018Q3QTD"
      decimals="4"
      id="d19105712e1240-wk-Fact-F8C3F796E313537EA6BEE2CD2F067A1F"
      unitRef="number">0.0032</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="FD2019Q3YTD"
      decimals="4"
      id="d19105712e1255-wk-Fact-B42A04EB2BCF577BA67B483759759B38"
      unitRef="number">0.0039</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="FD2018Q3YTD"
      decimals="4"
      id="d19105712e1270-wk-Fact-07279E2071CB5719B400FE7E17FD56EB"
      unitRef="number">0.0032</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19105712e1287-wk-Fact-97B0192D2A3352A9A8C6922000E71DAF"
      unitRef="number">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19105712e1302-wk-Fact-6137DA18114259159C162F589ACBEE96"
      unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e1317-wk-Fact-0C191E45381D5564AD63376E1B94C10C"
      unitRef="number">0.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19105712e1332-wk-Fact-CC53542BFB7351CFB346A387BEC29651"
      unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="FD2019Q3QTD"
      id="d19105712e1349-wk-Fact-FE53E46F1A765E6982D6FF8098BFBE6A">P5Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="FD2018Q3QTD"
      id="d19105712e1363-wk-Fact-A337559B58F05E8FAFDBA37535D1C1C6">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="FD2019Q3YTD"
      id="d19105712e1377-wk-Fact-6004C1402F5456B7B3F0E3FBA38735BB">P5Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="FD2018Q3YTD"
      id="d19105712e1391-wk-Fact-27DB2A499E18598F96B158D9EF86C37D">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19105712e1442-wk-Fact-9AAAAACD351D58A3850A0AFC0A9F43D9"
      unitRef="usdPerShare">18.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19105712e1446-wk-Fact-A509DCA15F6B5B728DB0C003EE184A41"
      unitRef="usdPerShare">22.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e1459-wk-Fact-2D88C899143E57369A6FC73C342F863C"
      unitRef="usdPerShare">18.58</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19105712e1463-wk-Fact-3AC674B2209A5D1DB38EEF845A706AE8"
      unitRef="usdPerShare">21.70</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="FD2019Q3QTD"
      decimals="0"
      id="d19105712e1478-wk-Fact-FA85806F343C5B1AA2735CE65098D5FB"
      unitRef="usd">5746000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="FD2018Q3QTD"
      decimals="0"
      id="d19105712e1482-wk-Fact-9E48EAB8FA33561FA3DD2F982AC17B00"
      unitRef="usd">17985000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="FD2019Q3YTD"
      decimals="0"
      id="d19105712e1495-wk-Fact-48BEB62F4E9B56CE954099CD69B29644"
      unitRef="usd">42545000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue
      contextRef="FD2018Q3YTD"
      decimals="0"
      id="d19105712e1499-wk-Fact-64BBC392D72655D2827665F32382BC93"
      unitRef="usd">50975000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="FD2019Q3QTD"
      decimals="0"
      id="d19105712e1511-wk-Fact-72D8B081050D5A4BBCEA2B8EAEBAC4C7"
      unitRef="usd">1213000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="FD2018Q3QTD"
      decimals="0"
      id="d19105712e1516-wk-Fact-4C87A6D2723651F9B793693C7D980372"
      unitRef="usd">997000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="FD2019Q3YTD"
      decimals="0"
      id="d19105712e1528-wk-Fact-AF7F94B2A1425A0AAD7C2DC76A0D4163"
      unitRef="usd">32072000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue
      contextRef="FD2018Q3YTD"
      decimals="0"
      id="d19105712e1532-wk-Fact-1620CA17DDEA531899417EEA27E600A7"
      unitRef="usd">27557000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-03FE91D88FFCEA9CCD05FB1AEE57CC1C-0-wk-Fact-252047222A325A58B8B8FB1AFAC44146">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's RSUs activity for the nine-month period ended September&#160;29, 2019: &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:center;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.22027290448344%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="7"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:67%;"/&gt;&lt;td style="width:15%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Date    Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;75&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;45.20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#x2014;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of September 29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;75&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;45.20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e1653-wk-Fact-D01A59EE025B8F669C29EF266D236005"
      unitRef="shares">75000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e1667-wk-Fact-B67F352D929EBF7760B2EF2794353C8B"
      unitRef="usdPerShare">45.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e1755-wk-Fact-D01A59EE025B8F669C29EF266D236005"
      unitRef="shares">75000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19105712e1774-wk-Fact-B67F352D929EBF7760B2EF2794353C8B"
      unitRef="usdPerShare">45.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <cgnx:NumberOfGroupsWithinEmployeePopulation
      contextRef="FI2019Q3"
      decimals="INF"
      id="d19105712e1796-wk-Fact-7E9740383820E9595F2DCFB52CA7A3CD"
      unitRef="group">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement
      contextRef="FI2019Q3"
      decimals="2"
      id="d19105712e1800-wk-Fact-D88AD520CB62029915E1CFB58B0B0BAC"
      unitRef="number">0.09</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
    <cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement
      contextRef="FI2019Q3"
      decimals="2"
      id="d19105712e1804-wk-Fact-FA457E9A7C353462B03FCFB5C4A66355"
      unitRef="number">0.12</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="FD2019Q1QTD"
      decimals="0"
      id="d19105712e1808-wk-Fact-4C186C6A22EB68F7379BCFB5F39B6511"
      unitRef="usd">499000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates
      contextRef="FD2018Q1QTD"
      decimals="0"
      id="d19105712e1812-wk-Fact-53B99C67431170F1BE6ECFB61CA7F43A"
      unitRef="usd">1283000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="FI2019Q3"
      decimals="0"
      id="d19105712e1823-wk-Fact-EE88E437343939C37DF3B1E8D871503E"
      unitRef="usd">59708000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition
      contextRef="FD2019Q3YTD"
      id="d19105712e1827-wk-Fact-3CBC821662A358AAA93A15EDA1104CBB">P1Y7M6D</cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19105712e1838-wk-Fact-DD6DEBCE22405EF98D8008415F3A07C3"
      unitRef="usd">10194000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="FD2019Q3QTD"
      decimals="0"
      id="d19105712e1842-wk-Fact-F1AF3865CBE6560EA2CB1C05F67DDD7B"
      unitRef="usd">1804000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19105712e1850-wk-Fact-DD5F303909E35DB4A17E9CD928B4FF22"
      unitRef="usd">9143000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="FD2018Q3QTD"
      decimals="0"
      id="d19105712e1855-wk-Fact-7BE05E10FFD85EAB86EE3A5333640E16"
      unitRef="usd">1654000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e1863-wk-Fact-158271D974B95E98A7B8307DAA5DA5AD"
      unitRef="usd">33442000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="FD2019Q3YTD"
      decimals="0"
      id="d19105712e1867-wk-Fact-67F0E6B580BE5F96B9A95F111BD0723B"
      unitRef="usd">5839000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19105712e1875-wk-Fact-DEF149A7D06C54C2A1AD294725B559D6"
      unitRef="usd">31339000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
      contextRef="FD2018Q3YTD"
      decimals="0"
      id="d19105712e1880-wk-Fact-11A9614A26595EA3988C46BA0F3EB772"
      unitRef="usd">5608000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
    <cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount
      contextRef="FI2019Q3"
      decimals="INF"
      id="d19105712e1884-wk-Fact-A6D5D7D29B565FCEB5749A8C8A34CD76"
      unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-A4F835739F76580892A3DCBCCC2FCF5F-0-wk-Fact-F3F017B8ED21581B9854E3CBCD03B6A2">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&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="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="16"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:38%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:12%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;334&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;544&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1,114&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,898&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,616&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3,197&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;11,633&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;11,166&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;6,244&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,402&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;20,695&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;18,275&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;10,194&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;9,143&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;33,442&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;31,339&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember"
      decimals="-3"
      id="d19105712e2104-wk-Fact-E1814A9CB0F356009594D21BFB983B2D"
      unitRef="usd">334000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember"
      decimals="-3"
      id="d19105712e2123-wk-Fact-8BE0B2EFD6F957A5BA3EDE75FA9B81BA"
      unitRef="usd">544000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember"
      decimals="-3"
      id="d19105712e2142-wk-Fact-1B64438A05C45A91B65D2233B045DA26"
      unitRef="usd">1114000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember"
      decimals="-3"
      id="d19105712e2162-wk-Fact-06D76FF981785681BDB36BB873B9DC78"
      unitRef="usd">1898000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="d19105712e2177-wk-Fact-56CF8BC9014053E896D8447DD072E591"
      unitRef="usd">3616000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="d19105712e2196-wk-Fact-1BA9CEF34ABE511E9725599EF5D539E8"
      unitRef="usd">3197000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="d19105712e2215-wk-Fact-28BE5B3BCA79564BB1F8B5E36D32A1FB"
      unitRef="usd">11633000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="d19105712e2235-wk-Fact-D9E0DF0DB05C53D7B1D644B9F5EF01C1"
      unitRef="usd">11166000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember"
      decimals="-3"
      id="d19105712e2255-wk-Fact-48F7AE2077EA52CBA0C7932E0496E077"
      unitRef="usd">6244000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember"
      decimals="-3"
      id="d19105712e2274-wk-Fact-56C70A0204945C6097791F1F330A60AD"
      unitRef="usd">5402000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember"
      decimals="-3"
      id="d19105712e2293-wk-Fact-CFB31F8C56A258A8B3BD2B8CBF9FB8B4"
      unitRef="usd">20695000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember"
      decimals="-3"
      id="d19105712e2313-wk-Fact-2ED9C21082A550CBABAE9F1D4D3B331E"
      unitRef="usd">18275000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19105712e2338-wk-Fact-DD6DEBCE22405EF98D8008415F3A07C3"
      unitRef="usd">10194000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19105712e2357-wk-Fact-DD5F303909E35DB4A17E9CD928B4FF22"
      unitRef="usd">9143000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19105712e2376-wk-Fact-158271D974B95E98A7B8307DAA5DA5AD"
      unitRef="usd">33442000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19105712e2396-wk-Fact-DEF149A7D06C54C2A1AD294725B559D6"
      unitRef="usd">31339000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-8502F54D9F855518BB7F2F0CF9AFF567-0-wk-Fact-23146C40C926583480A7B4772ABE8CA3">Stock Repurchase Program&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;In October 2018, the Company's Board of Directors authorized the repurchase of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$200,000,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, the Company repurchased &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,601,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$70,312,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; under this program, including &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1,398,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$61,690,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; during the nine-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;. The Company may repurchase shares under this program in future periods, up to the remaining balance of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$129,688,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, depending upon a variety of factors, including, among other things, the impact of dilution from employee stock options, stock price, share availability, and cash requirements.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="I2018Q4_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member"
      decimals="INF"
      id="d19105770e352-wk-Fact-CF08C6FD9135518BA033E5AA1D9C453B"
      unitRef="usd">200000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased
      contextRef="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member"
      decimals="-3"
      id="d19105770e360-wk-Fact-4E2C87D512EA5A09A55E6C02A827F53F"
      unitRef="shares">1601000</cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased>
    <cgnx:StockRepurchaseProgramValue
      contextRef="FI2019Q3_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member"
      decimals="-3"
      id="d19105770e364-wk-Fact-A965E14FF47F59DBBA671AB77DF9EE35"
      unitRef="usd">70312000</cgnx:StockRepurchaseProgramValue>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member"
      decimals="-3"
      id="d19105770e368-wk-Fact-38FB6A69A570566EB60A4F72E7505151"
      unitRef="shares">1398000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="FD2019Q3YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramOctober2018Member"
      decimals="-3"
      id="d19105770e373-wk-Fact-BE236B7D6FE858919C9F53A645A609CD"
      unitRef="usd">61690000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
      contextRef="FI2019Q3"
      decimals="0"
      id="d19105770e381-wk-Fact-4E0DADC078C25322B7CC4ECDF892EC7A"
      unitRef="usd">129688000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-28615A792ADA5027A143D2A0D1B9FDD0-0-wk-Fact-FEBBEBFD314C521C97F82EE8F87A3F74">Taxes&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&#x2019;s income tax expense, or effective tax rate, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Income tax expense at U.S. federal statutory corporate tax rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to Tax Act 2017&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock options&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(5&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Income tax expense&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Management has determined that earnings from its legal entity in China will be indefinitely reinvested to provide sufficient local funding for growth, and that earnings from all other jurisdictions will not be indefinitely reinvested.  The Company is tax resident in numerous jurisdictions around the world and has identified its major tax jurisdictions as the United &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;States, Ireland, and China.  The statutory tax rate is &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;12.5%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; in Ireland and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;25%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; in China, compared to the U.S. federal statutory corporate tax rate of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21%&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  International rights to certain of the Company's intellectual property are held by a subsidiary whose legal jurisdiction does not tax this income, resulting in a foreign effective tax rate that is lower than the above mentioned statutory rates, although the reduced taxes overseas have been partially offset by changes in U.S. tax law.  These differences resulted in a decrease in the effective tax rate by &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;7&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; percentage points&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt; &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;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 resulted in a decrease in the effective tax rate by &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; percentage points for the three-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, and a decrease in the effective tax rate by &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; percentage points for the &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;During the &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, the Company recorded a &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$37,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$50,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;nine&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company&#x2019;s reserve for income taxes, including gross interest and penalties, was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$8,179,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; as of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, which included &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$7,151,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; classified as a non-current liability and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,028,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$918,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;.  If the Company&#x2019;s tax positions were sustained or the statutes of limitations related to certain positions expired, these reserves would be released and income tax expense would be reduced in a future period.  As a result of the expiration of certain statutes of limitations, there is a potential that a portion of these reserves could be released, which would decrease income tax expense by approximately &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,300,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; to &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$1,400,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; over the next twelve months.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;The Company has defined its major tax jurisdictions as the United States, Ireland, and China, and within the United States, Massachusetts.  Within the United States, the tax years &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2016 through 2018&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2015 through 2018&lt;/span&gt;&lt;/span&gt; remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-A0FD9710A2A7519087923BC9F37E5B69-0-wk-Fact-BF0E8D9018C05CF48AE74DB7ABC3B1FC">&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&#x2019;s income tax expense, or effective tax rate, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&#160;Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Income tax expense at U.S. federal statutory corporate tax rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(7&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to Tax Act 2017&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(9&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;&#x2014;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock options&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(5&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other discrete tax events&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;(1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Income tax expense&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&#160;%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2019Q3QTD"
      decimals="INF"
      id="d19106648e512-wk-Fact-E06C9FF089EF5555B527626512875373"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2018Q3QTD"
      decimals="INF"
      id="d19106648e527-wk-Fact-D65AA88C2A4F5CEAB61101CB28633F27"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2019Q3YTD"
      decimals="INF"
      id="d19106648e542-wk-Fact-6DA869CB4238517CA1BDD5D886F431BB"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2018Q3YTD"
      decimals="INF"
      id="d19106648e557-wk-Fact-FB168288ED085B93B96A1C8AB0C16213"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e574-wk-Fact-4B548B2A2FA9511E97BC6C9F1605FFCA"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e589-wk-Fact-5C181200750558A2ABC4215372437A76"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e604-wk-Fact-9603F5DA9BDE56748B40C0981083C306"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e619-wk-Fact-08791D8B843256DB8E663046C125D206"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e636-wk-Fact-0B0E78983B9656F8A13B665AAFC10F2A"
      unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e651-wk-Fact-0B5B0B1B221B51D3920DDD51445543E7"
      unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e666-wk-Fact-2ED0C58634A7599EBF57C3F84B3881C2"
      unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e681-wk-Fact-05DC2FE958785CE3894DA247FBF395EE"
      unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e698-wk-Fact-46183A490AA75BD7A3B00A2B7418110B"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e713-wk-Fact-459E4E1BD5945C399FE5E1AC91EA0421"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e728-wk-Fact-FCACB8DB7E3759FD9116A079CF0F990C"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e743-wk-Fact-5A26B6FB92115CB9BE3848F743CBE955"
      unitRef="number">0</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e760-wk-Fact-5B25508AFAB752609EC54E6CFDCF200A"
      unitRef="number">0</cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017>
    <cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e775-wk-Fact-7B0F893D55505C21872A6426E12758A3"
      unitRef="number">0.09</cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017>
    <cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e790-wk-Fact-F698863DB5955649AA7AE66E03A7176B"
      unitRef="number">0</cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017>
    <cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e805-wk-Fact-9EFF298975A45265A315DCA1A31D3292"
      unitRef="number">0.04</cgnx:EffectiveIncomeTaxRateReconciliationTaxAct2017>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e822-wk-Fact-CED86EFAE4165B6C90D7C0F22CD7F3E7"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e837-wk-Fact-FB91422093515CDEBC57010D7C0B7840"
      unitRef="number">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e852-wk-Fact-682980018F56553092C4FE4B0B68A58D"
      unitRef="number">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e867-wk-Fact-4DB51E8E46C15C63B5F2276EE6406229"
      unitRef="number">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e884-wk-Fact-000E60A7344B583E94AC753CD5A7A033"
      unitRef="number">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e899-wk-Fact-CB5A8B28EB985FD3AFD7B0C7EA7EC35E"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e914-wk-Fact-0744895984AD55CA87EED9F1FAD2B05D"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e929-wk-Fact-47299F3141115A13A47886A4E220A510"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e946-wk-Fact-1981185DF28C5E349D0DCBDEB9503DFD"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e961-wk-Fact-CEE2FE354D2D5863ACD49456121FD61D"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e976-wk-Fact-1C9D0021290D5E1B969EAFC3D30F3976"
      unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e991-wk-Fact-173A92CF0CA55DDE9A38C2832FF8AE4B"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e1008-wk-Fact-72DB7B1C96385AF3BBC54E8FFCA0D0EA"
      unitRef="number">0.12</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e1022-wk-Fact-1F1991B80E04549DB82BA5A0EACC2328"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e1037-wk-Fact-E04CEB52B56054E98DEDA98DF0A25DCA"
      unitRef="number">0.12</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e1052-wk-Fact-93FDCA5C25B05A46AB11A865F77635DB"
      unitRef="number">0.06</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember"
      decimals="INF"
      id="d19106648e1074-wk-Fact-6A06F957679259788FD044256308760D"
      unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember"
      decimals="INF"
      id="d19106648e1078-wk-Fact-C31E6338C0275BC7BDB33AD85B95D4C6"
      unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="FD2019Q3YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember"
      decimals="INF"
      id="d19106648e1082-wk-Fact-05390520DC9E5191A89AF448ACE15650"
      unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e1086-wk-Fact-2ED0C58634A7599EBF57C3F84B3881C2"
      unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2019Q3QTD"
      decimals="2"
      id="d19106648e1097-wk-Fact-CED86EFAE4165B6C90D7C0F22CD7F3E7"
      unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2018Q3QTD"
      decimals="2"
      id="d19106648e1101-wk-Fact-FB91422093515CDEBC57010D7C0B7840"
      unitRef="number">0.04</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2019Q3YTD"
      decimals="2"
      id="d19106648e1113-wk-Fact-682980018F56553092C4FE4B0B68A58D"
      unitRef="number">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="FD2018Q3YTD"
      decimals="2"
      id="d19106648e1118-wk-Fact-4DB51E8E46C15C63B5F2276EE6406229"
      unitRef="number">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19106648e1145-wk-Fact-D40415BB56D058BEAD3EEF68F143C62C"
      unitRef="usd">37000</us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear>
    <cgnx:IncreaseDecreaseInterestAndPenalties
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19106648e1149-wk-Fact-045A2406F1115B0FBBD4007AC454E377"
      unitRef="usd">50000</cgnx:IncreaseDecreaseInterestAndPenalties>
    <cgnx:LiabilityForUncertainTaxPositions
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19106648e1165-wk-Fact-3B450E79CA755459A97B2373321C19FA"
      unitRef="usd">8179000</cgnx:LiabilityForUncertainTaxPositions>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19106648e1173-wk-Fact-124DB1F0EE8055EDB1E543B6BF97A3DA"
      unitRef="usd">7151000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19106648e1177-wk-Fact-35931A98C5845B71A90890FBD4583D8D"
      unitRef="usd">1028000</cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="FI2019Q3"
      decimals="-3"
      id="d19106648e1181-wk-Fact-F5913058A2C551789B740C1592FF6E41"
      unitRef="usd">918000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19106648e1186-wk-Fact-C94E9191E3EF562C90F448CBB908F1CF"
      unitRef="usd">1300000</cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
    <cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19106648e1190-wk-Fact-171F181C0FD25AFCA06E29D8CB33E058"
      unitRef="usd">1400000</cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
    <cgnx:TaxyearsopentoexaminationbyInternalRevenueService
      contextRef="FD2019Q3YTD"
      id="d19106648e1197-wk-Fact-AEB55663BC4C5C4A852527B52E801A14">2016 through 2018</cgnx:TaxyearsopentoexaminationbyInternalRevenueService>
    <cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities
      contextRef="FD2019Q3YTD"
      id="d19106648e1201-wk-Fact-85648D4B2BA9510180EC51C524B9976B">2015 through 2018</cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-5DC64AA97FFA5DF9BFCAC358E7C4364C-0-wk-Fact-B84336F258955EC5B0368B716D5AB1F7">Weighted-Average Shares&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;170,744&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;172,189&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;171,053&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;172,613&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive equity awards&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,705&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,056&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,111&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,408&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;174,449&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;177,245&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;175,164&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;178,021&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Equity awards to purchase &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;6,078,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,695,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;, respectively, and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,796,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; and &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;2,353,000&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-81069008566459F2865B29B05A44803A-0-wk-Fact-4007E37DEE9C52CAA6F2526CC35C27F7">&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="12"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:14%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;td style="width:13%;"/&gt;&lt;td style="width:1%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Nine-months Ended&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;span style="font-family:Arial;font-size:8pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;September&#160;29, 2019&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;September&#160;30, 2018&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;170,744&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;172,189&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;171,053&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;172,613&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive equity awards&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;3,705&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,056&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;4,111&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;5,408&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;174,449&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;177,245&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&lt;span&gt;175,164&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&#160;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;178,021&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;span style="font-family:inherit;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19107140e512-wk-Fact-80A7E07AFF9758B98F85A1BA237B4E2F"
      unitRef="shares">170744000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19107140e526-wk-Fact-42A1A491372756ADB9A63192E2035B03"
      unitRef="shares">172189000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19107140e540-wk-Fact-18AF80432B4B564D8EA12B300BB14D0F"
      unitRef="shares">171053000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19107140e554-wk-Fact-450FAE4711BC52F8BFAE77A07E3CA33A"
      unitRef="shares">172613000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19107140e570-wk-Fact-F00D026037135057B8D96FA16BC7CAE3"
      unitRef="shares">3705000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19107140e584-wk-Fact-09469149E8615198850068B4D44C867C"
      unitRef="shares">5056000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19107140e598-wk-Fact-C09B5804EA83517BB3BD96F0B6073A50"
      unitRef="shares">4111000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19107140e612-wk-Fact-A60B99024C59512D8BA937DF39BE7801"
      unitRef="shares">5408000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2019Q3QTD"
      decimals="-3"
      id="d19107140e628-wk-Fact-4D1C23EBB3D15D4DA1E092FF3AEC13C9"
      unitRef="shares">174449000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2018Q3QTD"
      decimals="-3"
      id="d19107140e642-wk-Fact-492CE133AF9D5CAEB1063D27A1B2C5B3"
      unitRef="shares">177245000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2019Q3YTD"
      decimals="-3"
      id="d19107140e656-wk-Fact-BC0F732AAEBE5654BDC0C96982E19BC8"
      unitRef="shares">175164000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="FD2018Q3YTD"
      decimals="-3"
      id="d19107140e670-wk-Fact-7EC95DD9BA585E3CBD2590C40EEC3A72"
      unitRef="shares">178021000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="FD2019Q3QTD"
      decimals="INF"
      id="d19107140e688-wk-Fact-4E82B59BADE95383829A331F226BE494"
      unitRef="shares">6078000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="FD2019Q3YTD"
      decimals="INF"
      id="d19107140e692-wk-Fact-64D58453802E5A32BA0AD954CF34B858"
      unitRef="shares">5695000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="FD2018Q3QTD"
      decimals="INF"
      id="d19107140e700-wk-Fact-61220F4CEBC55393B230665D2B8CB0CF"
      unitRef="shares">2796000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="FD2018Q3YTD"
      decimals="INF"
      id="d19107140e704-wk-Fact-E60D54BC562A59DE88E3566CF9E8C16F"
      unitRef="shares">2353000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="FD2019Q3YTD"
      id="TextSelection-40029B5AAB5254F398FE849672C567C8-0-wk-Fact-AA305734206556979B9F5DC0DB32648A">Subsequent Events&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;On October 16, 2019, the Company acquired Sualab Co., Ltd. (Sualab), a provider of deep learning-based vision software for industrial image analysis based in Korea for approximately $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;195&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; million.  The total consideration included cash payments of approximately $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;171&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; million upon closing.  The remaining consideration consists of deferred payments of approximately $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;24&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; million that may become payable on the fourth anniversary date of the closing, contingent upon the continued employment of key talent, and will be recorded as compensation expense over this four-year period.  Given the timing of this acquisition, the Company is in the process of completing the purchase price allocation for the $&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;171&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; million of consideration that is not related to employment.  Transaction costs incurred to date were not material and were expensed as incurred.  The financial results of Sualab prior to the acquisition date are not material to the consolidated financial results of the Company.&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;On October 28, 2019, the Company&#x2019;s Board of Directors declared a cash dividend of &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;$0.055&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; per share.  The dividend is payable on &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&lt;span style="white-space:nowrap"&gt;November 29, 2019&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; to all shareholders of record as of the close of business on &lt;/span&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;&lt;span&gt;&lt;span style="white-space:nowrap"&gt;November 15, 2019&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-6"
      id="d19107199e352-wk-Fact-313C6FF0A84593E8261A046414C965E7"
      unitRef="usd">195000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-6"
      id="d19107199e356-wk-Fact-D6B560242A03522A5CED04658307B654"
      unitRef="usd">171000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <cgnx:PaymentstoAcquireBusinessesDeferred
      contextRef="I2019Q3_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="0"
      id="d19107199e360-wk-Fact-3BCB32046666F19D815204689494A1A4"
      unitRef="usd">24000000</cgnx:PaymentstoAcquireBusinessesDeferred>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="D2019Q4Oct16_us-gaap_BusinessAcquisitionAxis_cgnx_SualabCo.Ltd.Member_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="-6"
      id="d19107199e364-wk-Fact-D6B560242A03522A5CED04658307B654"
      unitRef="usd">171000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:Dividends
      contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="d19107199e372-wk-Fact-77ACAA1BF776500781C6D0351F8B6FC6"
      unitRef="usd">0.055</us-gaap:Dividends>
    <us-gaap:DividendPayableDateToBePaidDayMonthAndYear
      contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      id="d19107199e376-wk-Fact-79450D406AB1501CB171A465803BC732">2019-11-29</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
    <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear
      contextRef="D2019Q4_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember"
      id="d19107199e380-wk-Fact-F0ED71CDFB1D54978194E07680AFCC25">2019-11-15</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6780319376">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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>
</tr>
<tr class="ro">
<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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the financial assets and liabilities required to be measured at fair value on a recurring basis as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:50%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;"><br/>Unobservable<br/>Inputs                                                                                                                                                                             (Level 3)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Assets:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Liabilities:</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock', window );">Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the activity for the Company's liability measured at fair value using Level 3 inputs for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:8px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:85%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,554</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(1,646</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,153</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of 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 820<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19207-110258<br><br>Reference 2: 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 3<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19279-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_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_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://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 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99377789&amp;loc=d3e19190-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>nonnum: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>58
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6768593280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Future Minimum Rental Receipts Under Non-cancelable Lease Agreements (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 29, 2019 </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_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear', window );">Lessor, Operating Lease, Payments to be Received, Remainder of Fiscal Year</a></td>
<td class="nump">$ 77<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears', window );">Lessor, Operating Lease, Payments to be Received, Two Years</a></td>
<td class="nump">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_LessorOperatingLeasePaymentsToBeReceivedThreeYears', window );">Lessor, Operating Lease, Payments to be Received, Three Years</a></td>
<td class="nump">307<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears', window );">Lessor, Operating Lease, Payments to be Received, Four Years</a></td>
<td class="nump">307<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_LessorOperatingLeasePaymentsToBeReceived', window );">Lessor, Operating Lease, Payments to be Received</a></td>
<td class="nump">$ 998<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_LessorOperatingLeasePaymentsToBeReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payments to be received by lessor 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 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceived</td>
</tr>
<tr>
<td style="padding-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_LessorOperatingLeasePaymentsToBeReceivedFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payments to be received by lessor in fourth year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears</td>
</tr>
<tr>
<td style="padding-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_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payments to be received by lessor in remainder of fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-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_LessorOperatingLeasePaymentsToBeReceivedThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payments to be received by lessor in third fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears</td>
</tr>
<tr>
<td style="padding-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_LessorOperatingLeasePaymentsToBeReceivedTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 payments to be received by lessor in second fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position 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 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=77888428&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears</td>
</tr>
<tr>
<td style="padding-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>59
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6785465984">
<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 (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 29, 2019 </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 );">1 year or less</a></td>
<td class="nump">$ 292,072<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">341,764<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">149,413<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">8,981<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">4,483<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">796,713<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 );">1 year or less</a></td>
<td class="nump">87,209<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">115,941<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">47,842<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">1,348<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">2,867<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">255,207<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 );">1 year or less</a></td>
<td class="nump">105,454<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">188,398<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">68,217<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">362,069<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 );">1 year or less</a></td>
<td class="nump">89,576<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">21,425<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">26,142<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">7,633<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">1,616<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">146,392<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 );">1 year or less</a></td>
<td class="nump">6,300<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">16,000<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">22,300<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 );">1 year or less</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">5,905<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">5,905<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 );">1 year or less</a></td>
<td class="nump">3,533<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">1,307<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">$ 4,840<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), maturing in next fiscal year following latest fiscal year. Excludes interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.</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 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27198-111563<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 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27161-111563<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 320<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62586-112803<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109979856&amp;loc=d3e26610-111562<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 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&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_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=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_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=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6781309632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Summary of Stock Option Activity (Detail)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Sep. 29, 2019 </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 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">13,789<span></span>
</td>
</tr>
<tr class="re">
<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">2,879<span></span>
</td>
</tr>
<tr class="ro">
<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">(1,475)<span></span>
</td>
</tr>
<tr class="re">
<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">(726)<span></span>
</td>
</tr>
<tr class="ro">
<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">14,467<span></span>
</td>
</tr>
<tr class="re">
<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">5,714<span></span>
</td>
</tr>
<tr class="ro">
<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">13,116<span></span>
</td>
</tr>
<tr class="re">
<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, shares | $ / shares</a></td>
<td class="nump">$ 31.73<span></span>
</td>
</tr>
<tr class="re">
<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">51.22<span></span>
</td>
</tr>
<tr class="ro">
<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">21.53<span></span>
</td>
</tr>
<tr class="re">
<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">41.79<span></span>
</td>
</tr>
<tr class="ro">
<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, shares | $ / shares</a></td>
<td class="nump">36.14<span></span>
</td>
</tr>
<tr class="re">
<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">25.33<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Weighted- Average Remaining Contractual Term (in years) | $ / shares</a></td>
<td class="nump">$ 34.90<span></span>
</td>
</tr>
<tr class="re">
<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 (in 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">7 years 2 months 8 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 8 months 23 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">7 years 14 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 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">$ 203,774<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">134,913<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 199,066<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://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)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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://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)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(iv)(3)-(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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://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)(iv)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109197908&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://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 http://asc.fasb.org/extlink&amp;oid=109197908&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 (c)(1)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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://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)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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://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 http://asc.fasb.org/extlink&amp;oid=109197908&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://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 http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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>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_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>num: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>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_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>num: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 http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109197908&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://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 http://asc.fasb.org/extlink&amp;oid=109197908&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://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)(iv)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=27012166&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=109259400&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>61
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782024864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes - Reconciliation of United States Federal Statutory Corporate Tax Rate to Company's Effective Tax Rate, or Income Tax Provision (Detail)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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>
<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 );">Income tax expense at U.S. federal statutory corporate tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income taxes, net of federal benefit</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign tax rate differential</a></td>
<td class="num">(7.00%)<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
<td class="num">(7.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_EffectiveIncomeTaxRateReconciliationTaxCredits', window );">Tax credit</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="nump">0.00%<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_EffectiveIncomeTaxRateReconciliationTaxAct2017', window );">Discrete tax benefit related to Tax Act 2017</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(9.00%)<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
<td class="num">(4.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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to stock options</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(4.00%)<span></span>
</td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(5.00%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Other discrete tax events</a></td>
<td class="num">(3.00%)<span></span>
</td>
<td class="num">(2.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(1.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_EffectiveIncomeTaxRateReconciliationOtherAdjustments', window );">Other</a></td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">2.00%<span></span>
</td>
<td class="nump">1.00%<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_EffectiveIncomeTaxRateContinuingOperations', window );">Income tax expense</a></td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_EffectiveIncomeTaxRateReconciliationTaxAct2017">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, Tax Act 2017</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_EffectiveIncomeTaxRateReconciliationTaxAct2017</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>num: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_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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-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>num: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://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-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>num: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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 changes in the income tax 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 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: 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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 applicable to statutory income tax expense (benefit) outside of the country of domicile.</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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: 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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 excess tax benefit for share-based compensation cost.</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 http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits.</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 S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: 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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782205152">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - Subsequent Event - USD ($)<br></strong></div></th>
<th class="th"><div>Oct. 28, 2019</div></th>
<th class="th"><div>Oct. 16, 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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_Dividends', window );">Dividends (in dollars per share)</a></td>
<td class="nump">$ 0.055<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_DividendPayableDateToBePaidDayMonthAndYear', window );">Dividends payable, date payable</a></td>
<td class="text">Nov. 29,  2019<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_DividendsPayableDateOfRecordDayMonthAndYear', window );">Dividends payable, date of record</a></td>
<td class="text">Nov. 15,  2019<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_BusinessAcquisitionAxis=cgnx_SualabCo.Ltd.Member', window );">Sualab Co., Ltd.</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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_BusinessCombinationConsiderationTransferred1', window );">Consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 195,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_PaymentsToAcquireBusinessesGross', window );">Cash payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">171,000,000<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_PaymentstoAcquireBusinessesDeferred', window );">Deferred payments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_PaymentstoAcquireBusinessesDeferred">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payments to Acquire Businesses, Deferred</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_PaymentstoAcquireBusinessesDeferred</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_us-gaap_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</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 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=109124213&amp;loc=d3e6613-128477<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 30<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109124213&amp;loc=d3e6578-128477<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-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_DividendPayableDateToBePaidDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the declared dividend will be paid, in CCYY-MM-DD format.</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 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4304-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_DividendPayableDateToBePaidDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_Dividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, stock, and paid-in-kind (PIK) dividends declared, for example, but not limited to, common and preferred 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 S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<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 405<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6957935&amp;loc=d3e64057-112817<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Dividends</td>
</tr>
<tr>
<td style="padding-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_DividendsPayableDateOfRecordDayMonthAndYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Date the holder must own the stock to be entitled to the dividend, in CCYY-MM-DD format.</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_DividendsPayableDateOfRecordDayMonthAndYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_PaymentsToAcquireBusinessesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 business during the period. The cash portion only of the acquisition price.</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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<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 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109223946&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_PaymentsToAcquireBusinessesGross</td>
</tr>
<tr>
<td style="padding-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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=cgnx_SualabCo.Ltd.Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_BusinessAcquisitionAxis=cgnx_SualabCo.Ltd.Member</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>63
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6785408512">
<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 (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 19<span></span>
</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_DerivativeLiabilities', window );">Derivative liability</a></td>
<td class="nump">70<span></span>
</td>
<td class="nump">106<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">19<span></span>
</td>
<td class="nump">1<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">$ 70<span></span>
</td>
<td class="nump">$ 106<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://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 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<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 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://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://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 (c)<br> -URI http://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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<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 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-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>64
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789686064">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 183,325<span></span>
</td>
<td class="nump">$ 232,221<span></span>
</td>
<td class="nump">$ 555,856<span></span>
</td>
<td class="nump">$ 613,052<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">139,887<span></span>
</td>
<td class="nump">150,993<span></span>
</td>
<td class="nump">473,610<span></span>
</td>
<td class="nump">493,019<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">$ 43,438<span></span>
</td>
<td class="nump">$ 81,228<span></span>
</td>
<td class="nump">$ 82,246<span></span>
</td>
<td class="nump">$ 120,033<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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-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_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>65
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6771954608">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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).  As a result of the adoption of ASC 842 "Leases," Cognex Corporation (the "Company") has provided new disclosures related to leases in this Quarterly Report on Form 10-Q.  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 </span><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span><span style="font-family:Arial;font-size:10pt;"> for a full description of other significant accounting policies.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">In the opinion of the management of the Company, the accompanying consolidated unaudited financial statements contain all adjustments, consisting of normal, recurring adjustments, and financial statement reclassifications necessary to present fairly the Company&#8217;s financial position as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Leases</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company accounts for leases in accordance with Accounting Standard Codification (ASC) 842, "Leases." The core principle of ASC 842 is that a lessee should recognize on the balance sheet the assets and liabilities that arise from leases. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">At inception of a contract, the Company determines whether that contract is or contains a lease. The Company determines whether a contract contains a lease by assessing whether there is an identified asset and whether the contract conveys the right to control the use of the identified asset for a period of time in exchange for consideration.  The Company has control of the asset if it has the right to direct the use of the asset and obtains substantially all of the economic benefits from the use of the asset throughout the period of use. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As a practical expedient, the Company does not recognize a lease asset or lease liability for leases with a lease term of 12 months or less.  In the determination of the lease term, the Company considers the existence of extension or termination options and the probability of those options being exercised. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Lease contracts may include lease components and non-lease components, such as common area maintenance and utilities for property leases. As a practical expedient, the Company accounts for the non-lease components together with the lease components as a single lease component for all of its leases. </span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company classifies a lease as a finance lease when it meets any of the following criteria at the lease commencement date: a) the lease transfers ownership of the underlying asset to the Company by the end of the lease term; b) the lease grants the Company an option to purchase the underlying asset that the Company is reasonably certain to exercise; c) the lease term is for the major part of the remaining economic life of the underlying asset (the Company considers a major part to be 75% or more of the remaining economic life of the underlying asset); d) the present value of the sum of the lease payments and any residual value guaranteed by the Company equals or exceeds substantially all of the fair value of the underlying asset (the Company considers substantially all the fair value to be 90% or more of the fair value of the underlying asset amount); or e) the underlying asset is of such a specialized nature that it is expected to have no alternative use to the lessor at the end of the lease term.  When none of the criteria above are met, the Company classifies the lease as an operating lease. </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On the lease commencement date, the Company records a lease asset and lease liability on the balance sheet.  The lease asset consists of: 1) the amount of the initial lease liability; 2) any lease payments made to the lessor at or before the lease commencement date, minus any lease incentives received; and 3) any initial direct cost incurred by the Company.  Initial direct costs are incremental costs of a lease that would not have been incurred if the lease had not been obtained and are capitalized as part of the lease asset.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The lease liability equals the present value of the future cash payments discounted using the Company's incremental borrowing rate.  The Company&#8217;s incremental borrowing rate is the rate of interest that the Company would have to pay to borrow an amount equal to the lease payments over a similar term, which is the three-month London Interbank Offered Rate (LIBOR) plus a 2.5% credit risk spread.</span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Operating lease expense equals the total cash payments recognized on a straight-line basis over the lease term. The amortization of the lease asset is calculated as the straight-line lease expense less the accretion of the interest on the lease liability each period.  The lease liability is reduced by the cash payment less the interest each period.</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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://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>nonnum: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>66
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6782999184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Raw materials</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,283</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>42,738</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Work-in-process</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,848</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,435</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Finished goods</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>30,133</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,109</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,264</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>83,282</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -URI http://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>nonnum: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>67
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783869664">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 41,685<span></span>
</td>
<td class="nump">$ 80,436<span></span>
</td>
<td class="nump">$ 123,538<span></span>
</td>
<td class="nump">$ 173,849<span></span>
</td>
</tr>
<tr class="re">
<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), net of tax of ($5) and $24 in the three-month periods and net of tax of $502 and ($82) in the nine-month periods, respectively</a></td>
<td class="nump">265<span></span>
</td>
<td class="nump">522<span></span>
</td>
<td class="nump">4,827<span></span>
</td>
<td class="num">(180)<span></span>
</td>
</tr>
<tr class="re">
<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 into current operations</a></td>
<td class="num">(294)<span></span>
</td>
<td class="num">(266)<span></span>
</td>
<td class="num">(716)<span></span>
</td>
<td class="num">(535)<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">(29)<span></span>
</td>
<td class="nump">256<span></span>
</td>
<td class="nump">4,111<span></span>
</td>
<td class="num">(715)<span></span>
</td>
</tr>
<tr 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">(1,099)<span></span>
</td>
<td class="num">(1,881)<span></span>
</td>
<td class="num">(1,544)<span></span>
</td>
<td class="num">(5,078)<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_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent', window );">Other comprehensive income (loss), net of tax</a></td>
<td class="num">(1,128)<span></span>
</td>
<td class="num">(1,625)<span></span>
</td>
<td class="nump">2,567<span></span>
</td>
<td class="num">(5,793)<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_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 40,557<span></span>
</td>
<td class="nump">$ 78,811<span></span>
</td>
<td class="nump">$ 126,105<span></span>
</td>
<td class="nump">$ 168,056<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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=d3e557-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 1B<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=114867106&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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<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 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<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 http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=6371337&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_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 http://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 http://asc.fasb.org/extlink&amp;oid=108774443&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 http://asc.fasb.org/extlink&amp;oid=108774443&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_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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 30<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b,c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109240241&amp;loc=d3e32211-110900<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://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 http://asc.fasb.org/extlink&amp;oid=108774443&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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=108774443&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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=114867106&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 http://asc.fasb.org/extlink&amp;oid=82897076&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 http://asc.fasb.org/extlink&amp;oid=114867106&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, before reclassification adjustments, of unrealized holding gain (loss) on 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 10A<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669646-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 http://asc.fasb.org/extlink&amp;oid=114867106&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>68
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6706932016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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.  Currently, the Company enters into economic hedges to manage this risk.  The economic hedges utilize foreign currency forward contracts with maturities of up to </span><span style="font-family:Arial;font-size:10pt;"><span>45</span></span><span style="font-family:Arial;font-size:10pt;"> days to manage the exposure </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"/></tr><tr><td style="width:47%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br/>Equivalent</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">USD<br/>Equivalent</span></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Euro</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>18,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19,697</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,330</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Japanese Yen</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>600,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,563</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>380,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,459</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Mexican Peso</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>90,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">British Pound</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,550</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,500</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,204</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Korean Won</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,660,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,053</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,125,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,808</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Hungarian Forint</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>840,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,739</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>750,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,685</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45,700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,478</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>55,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,807</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Canadian Dollar</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>830</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>726</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Singapore Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>514</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"/></tr><tr><td style="width:12%;"/><td style="width:17%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"/></tr><tr><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:19%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of assets presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:21%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>469</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>299</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>535</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(366</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://asc.fasb.org/topic&amp;trid=2229140<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>69
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6784672416">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 123,538<span></span>
</td>
<td class="nump">$ 173,849<span></span>
</td>
</tr>
<tr class="re">
<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">33,442<span></span>
</td>
<td class="nump">31,339<span></span>
</td>
</tr>
<tr class="re">
<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">15,800<span></span>
</td>
<td class="nump">13,474<span></span>
</td>
</tr>
<tr class="ro">
<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">2,119<span></span>
</td>
<td class="nump">2,307<span></span>
</td>
</tr>
<tr class="re">
<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="num">(563)<span></span>
</td>
<td class="nump">123<span></span>
</td>
</tr>
<tr class="ro">
<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 (gain) loss on sale of investments</a></td>
<td class="num">(716)<span></span>
</td>
<td class="num">(535)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1', window );">Revaluation of contingent consideration</a></td>
<td class="num">(1,401)<span></span>
</td>
<td class="num">(50)<span></span>
</td>
</tr>
<tr class="ro">
<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">(1,805)<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="re">
<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="nump">11,387<span></span>
</td>
<td class="num">(18,136)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInUnbilledReceivables', window );">Unbilled revenue</a></td>
<td class="num">(2,900)<span></span>
</td>
<td class="num">(6,542)<span></span>
</td>
</tr>
<tr class="re">
<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="nump">18,019<span></span>
</td>
<td class="num">(27,699)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">5,827<span></span>
</td>
<td class="num">(3,437)<span></span>
</td>
</tr>
<tr class="re">
<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">(3,398)<span></span>
</td>
<td class="num">(1,182)<span></span>
</td>
</tr>
<tr class="ro">
<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">(11,827)<span></span>
</td>
<td class="nump">2,266<span></span>
</td>
</tr>
<tr class="re">
<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">(1,043)<span></span>
</td>
<td class="num">(17,497)<span></span>
</td>
</tr>
<tr class="ro">
<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">698<span></span>
</td>
<td class="nump">4,841<span></span>
</td>
</tr>
<tr class="re">
<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="num">(1,863)<span></span>
</td>
<td class="num">(1,604)<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">185,314<span></span>
</td>
<td class="nump">151,692<span></span>
</td>
</tr>
<tr class="re">
<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">(883,363)<span></span>
</td>
<td class="num">(616,047)<span></span>
</td>
</tr>
<tr class="re">
<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">781,929<span></span>
</td>
<td class="nump">635,119<span></span>
</td>
</tr>
<tr class="ro">
<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">(13,518)<span></span>
</td>
<td class="num">(27,356)<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="num">(114,952)<span></span>
</td>
<td class="num">(8,284)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Issuance of common stock under stock plans</a></td>
<td class="nump">31,780<span></span>
</td>
<td class="nump">25,882<span></span>
</td>
</tr>
<tr class="ro">
<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">(61,690)<span></span>
</td>
<td class="num">(142,262)<span></span>
</td>
</tr>
<tr class="re">
<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">(25,682)<span></span>
</td>
<td class="num">(23,283)<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_Paymentofcontingentconsideration', window );">Payment of contingent consideration</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,000)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(55,592)<span></span>
</td>
<td class="num">(140,663)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of foreign exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(1,281)<span></span>
</td>
<td class="num">(1,956)<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_CashAndCashEquivalentsPeriodIncreaseDecrease', window );">Net change in cash and cash equivalents</a></td>
<td class="nump">13,489<span></span>
</td>
<td class="nump">789<span></span>
</td>
</tr>
<tr class="ro">
<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 at beginning of period</a></td>
<td class="nump">108,212<span></span>
</td>
<td class="nump">106,582<span></span>
</td>
</tr>
<tr class="re">
<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 at end of period</a></td>
<td class="nump">$ 121,701<span></span>
</td>
<td class="nump">$ 107,371<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_Paymentofcontingentconsideration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Payment of contingent consideration from a business combination</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_Paymentofcontingentconsideration</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_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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://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 http://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_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 value of a contingent consideration liability, including, but not limited to, differences arising upon settlement.</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 http://asc.fasb.org/extlink&amp;oid=109223946&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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e7008-128479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1</td>
</tr>
<tr>
<td style="padding-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_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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3044-108585<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 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6676-107765<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.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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_CashAndCashEquivalentsPeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 and cash equivalents. Cash and cash equivalents are the 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. Includes effect from exchange rate changes.</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_CashAndCashEquivalentsPeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-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 http://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 http://asc.fasb.org/extlink&amp;oid=109223946&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_EffectOfExchangeRateOnCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the effect of exchange rate changes on cash and cash equivalent balances held in foreign currencies.</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 http://asc.fasb.org/extlink&amp;oid=98513438&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_EffectOfExchangeRateOnCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-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_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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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_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 http://asc.fasb.org/extlink&amp;oid=109223946&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>The increase (decrease) during the reporting period, excluding the portion taken into income, in the liability reflecting revenue yet to be earned for which cash or other forms of consideration was received or recorded as a receivable.</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/otherTransitionRef<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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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_IncreaseDecreaseInUnbilledReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the amount of revenue for work performed for which billing has not occurred, net of uncollectible accounts.</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/otherTransitionRef<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 http://asc.fasb.org/extlink&amp;oid=109223946&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_IncreaseDecreaseInUnbilledReceivables</td>
</tr>
<tr>
<td style="padding-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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<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 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<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 http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=6371337&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_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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 compensation arrangement. Issuance includes, but is not limited to, exercise of stock options and similar instruments.</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 http://asc.fasb.org/extlink&amp;oid=109197908&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 http://asc.fasb.org/extlink&amp;oid=109223946&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 http://asc.fasb.org/extlink&amp;oid=109223946&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>The noncash expense that accounts for the value of stock or unit options distributed to employees as compensation.</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 http://asc.fasb.org/extlink&amp;oid=109223946&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>70
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789217248">
<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 (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 16,081<span></span>
</td>
<td class="nump">$ 3,557<span></span>
</td>
</tr>
<tr class="re">
<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">796,713<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">255,207<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="ro">
<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">362,069<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="re">
<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">146,392<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="ro">
<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">22,300<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="re">
<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">5,905<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">4,840<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 Prices 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">16,081<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="ro">
<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_MoneyMarketFundsAtCarryingValue', window );">Money market instruments</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_ForeignCurrencyContractAssetFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">19<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_LiabilitiesFairValueDisclosureAbstract', window );"><strong>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_ForeignCurrencyContractsLiabilityFairValueDisclosure', window );">Economic hedge forward contracts</a></td>
<td class="nump">70<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="ro">
<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">255,207<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">362,069<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">146,392<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">22,300<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">5,905<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="re">
<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">4,840<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 );">Fair Value, 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="ro">
<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_BusinessCombinationContingentConsiderationLiability', window );">Contingent consideration liabilities</a></td>
<td class="nump">$ 1,153<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 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=109979856&amp;loc=d3e26610-111562<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 50<br> -Paragraph 2<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&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_BusinessCombinationContingentConsiderationLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 liability recognized arising from contingent consideration in a business combination.</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 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 35<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6911338&amp;loc=d3e6819-128478<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 25<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6911189&amp;loc=d3e6408-128476<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationContingentConsiderationLiability</td>
</tr>
<tr>
<td style="padding-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_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_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=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_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=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_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>71
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6780346288">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Americas</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>57,020</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>208,909</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>187,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Europe</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>64,209</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>118,810</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>182,747</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245,437</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Greater China</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>27,854</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,068</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>86,446</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>99,402</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other Asia</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>26,009</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>25,323</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>77,754</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>80,222</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock', window );">Revenue from External Customers by Products and Services</a></td>
<td class="text"><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Standard products and services</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>139,887</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>150,993</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>473,610</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>493,019</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>43,438</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>81,228</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>82,246</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>120,033</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></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_DeferredRevenueByArrangementDisclosureTextBlock', window );">Deferred Revenue, by Arrangement, Disclosure</a></td>
<td class="text"><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:80%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,845</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,351</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Recognition of revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36,517</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(248</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,431</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=82887183&amp;loc=d3e6935-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=115929826&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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=115929826&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>nonnum: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>72
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6779977552">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivative Instruments - Offsetting Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 19<span></span>
</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_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">19<span></span>
</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_DerivativeFairValueOfDerivativeLiability', window );">Gross amounts of recognized liabilities</a></td>
<td class="nump">70<span></span>
</td>
<td class="nump">106<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 70<span></span>
</td>
<td class="nump">$ 106<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 http://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 http://asc.fasb.org/extlink&amp;oid=6945355&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://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 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-175313<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<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 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -URI http://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://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 http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226000-175313<br><br>Reference 2: 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 http://asc.fasb.org/extlink&amp;oid=109247956&amp;loc=SL51823488-111719<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 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://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 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Subparagraph (a),(c)<br> -URI http://asc.fasb.org/extlink&amp;oid=109980867&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 http://asc.fasb.org/extlink&amp;oid=109247956&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 http://asc.fasb.org/extlink&amp;oid=109980867&amp;loc=SL5624163-113959<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 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://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 http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226000-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://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 (c)<br> -URI http://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 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109250915&amp;loc=d3e13433-108611<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 10<br> -URI http://asc.fasb.org/extlink&amp;oid=99393222&amp;loc=SL20226008-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 http://asc.fasb.org/extlink&amp;oid=6945355&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 http://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>73
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783027568">
<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>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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">$ 4,792<span></span>
</td>
<td class="nump">$ 3,514<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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=68051541&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>74
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6768607936">
<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">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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">$ 183,325<span></span>
</td>
<td class="nump">$ 232,221<span></span>
</td>
<td class="nump">$ 555,856<span></span>
</td>
<td class="nump">$ 613,052<span></span>
</td>
</tr>
<tr class="re">
<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">47,632<span></span>
</td>
<td class="nump">58,860<span></span>
</td>
<td class="nump">144,883<span></span>
</td>
<td class="nump">153,227<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">135,693<span></span>
</td>
<td class="nump">173,361<span></span>
</td>
<td class="nump">410,973<span></span>
</td>
<td class="nump">459,825<span></span>
</td>
</tr>
<tr class="re">
<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">28,115<span></span>
</td>
<td class="nump">29,700<span></span>
</td>
<td class="nump">86,436<span></span>
</td>
<td class="nump">87,664<span></span>
</td>
</tr>
<tr class="ro">
<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">64,486<span></span>
</td>
<td class="nump">65,817<span></span>
</td>
<td class="nump">199,542<span></span>
</td>
<td class="nump">196,266<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_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">43,092<span></span>
</td>
<td class="nump">77,844<span></span>
</td>
<td class="nump">124,995<span></span>
</td>
<td class="nump">175,895<span></span>
</td>
</tr>
<tr class="ro">
<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">(1,295)<span></span>
</td>
<td class="num">(379)<span></span>
</td>
<td class="num">(1,403)<span></span>
</td>
<td class="num">(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_InvestmentIncomeNonoperating', window );">Investment income</a></td>
<td class="nump">5,114<span></span>
</td>
<td class="nump">3,937<span></span>
</td>
<td class="nump">15,242<span></span>
</td>
<td class="nump">10,736<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">456<span></span>
</td>
<td class="num">(129)<span></span>
</td>
<td class="nump">1,239<span></span>
</td>
<td class="num">(98)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income tax expense</a></td>
<td class="nump">47,367<span></span>
</td>
<td class="nump">81,273<span></span>
</td>
<td class="nump">140,073<span></span>
</td>
<td class="nump">185,825<span></span>
</td>
</tr>
<tr class="ro">
<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,682<span></span>
</td>
<td class="nump">837<span></span>
</td>
<td class="nump">16,535<span></span>
</td>
<td class="nump">11,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_NetIncomeLoss', window );">Net Income</a></td>
<td class="nump">$ 41,685<span></span>
</td>
<td class="nump">$ 80,436<span></span>
</td>
<td class="nump">$ 123,538<span></span>
</td>
<td class="nump">$ 173,849<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<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.24<span></span>
</td>
<td class="nump">$ 0.47<span></span>
</td>
<td class="nump">$ 0.72<span></span>
</td>
<td class="nump">$ 1.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_EarningsPerShareDiluted', window );">Diluted (usd per share)</a></td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="nump">$ 0.45<span></span>
</td>
<td class="nump">$ 0.71<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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">170,744<span></span>
</td>
<td class="nump">172,189<span></span>
</td>
<td class="nump">171,053<span></span>
</td>
<td class="nump">172,613<span></span>
</td>
</tr>
<tr class="re">
<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,449<span></span>
</td>
<td class="nump">177,245<span></span>
</td>
<td class="nump">175,164<span></span>
</td>
<td class="nump">178,021<span></span>
</td>
</tr>
<tr class="ro">
<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.050<span></span>
</td>
<td class="nump">$ 0.045<span></span>
</td>
<td class="nump">$ 0.150<span></span>
</td>
<td class="nump">$ 0.135<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 http://asc.fasb.org/extlink&amp;oid=27012166&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>num: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://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 http://asc.fasb.org/extlink&amp;oid=115205541&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 http://asc.fasb.org/extlink&amp;oid=109256448&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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<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 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<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(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&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 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&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 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 7: 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(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<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 http://asc.fasb.org/extlink&amp;oid=109260490&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 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>num: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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6450222&amp;loc=d3e30840-110895<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30700-110894<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=109240200&amp;loc=d3e30690-110894<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://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 http://asc.fasb.org/extlink&amp;oid=115205541&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_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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.</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 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(1)(i))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-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://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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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 7<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1337-109256<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1252-109256<br><br>Reference 4: 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(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<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 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<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 1<br> -Subparagraph (SX 210.5-03(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868656-224227<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=SL5780133-109256<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(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 9: 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(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&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_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>num: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 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<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))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&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 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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 http://asc.fasb.org/extlink&amp;oid=115205541&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_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://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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669619-108580<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 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=114873765&amp;loc=SL114874048-224260<br><br>Reference 3: 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 http://asc.fasb.org/extlink&amp;oid=114867106&amp;loc=SL7669625-108580<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 http://asc.fasb.org/extlink&amp;oid=114873790&amp;loc=SL114874131-224263<br><br>Reference 5: 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 http://asc.fasb.org/extlink&amp;oid=115205541&amp;loc=SL114868664-224227<br><br>Reference 6: 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 http://asc.fasb.org/extlink&amp;oid=109223946&amp;loc=d3e3602-108585<br><br>Reference 7: 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 http://asc.fasb.org/extlink&amp;oid=6371337&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_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>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_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 http://asc.fasb.org/extlink&amp;oid=115205541&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://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 http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br><br>Reference 2: 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 http://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://fasb.org/us-gaap/role/ref/legacyRef<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 http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130543-203045<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130539-203045<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=109196051&amp;loc=SL49130545-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_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 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<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.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=115205541&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://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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=109260490&amp;loc=d3e1448-109256<br><br>Reference 2: 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> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&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_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>75
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6783003312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue Recognition<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by geographic area based upon the customer's country of domicile (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Americas</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>65,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>57,020</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>208,909</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>187,991</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Europe</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>64,209</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>118,810</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>182,747</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>245,437</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Greater China</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>27,854</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>31,068</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>86,446</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>99,402</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Other Asia</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>26,009</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>25,323</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>77,754</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>80,222</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</span></div><div style="line-height:120%;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"/></tr><tr><td style="width:36%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September 29, 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September 30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Standard products and services</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>139,887</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>150,993</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>473,610</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>493,019</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>43,438</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>81,228</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>82,246</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>120,033</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>183,325</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>232,221</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>555,856</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>613,052</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Costs to fulfill a contract are included in "Prepaid expenses and other current assets" on the Consolidated Balance Sheet and amounted to </span><span style="font-family:Arial;font-size:10pt;"><span>$4,792,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$3,514,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and December 31, 2018, respectively.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</span></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accounts receivable represent amounts billed and currently due from customers which are reported at their net estimated realizable value.  The Company maintains reserves against its accounts receivable for potential credit losses.  Credit losses recognized on accounts receivable were immaterial for the three-month and nine-month periods ended  </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively.  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="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;padding-top:4px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="4"/></tr><tr><td style="width:80%;"/><td style="width:1%;"/><td style="width:18%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>9,845</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>37,351</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Recognition of revenue</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36,517</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(248</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Balance as of September 29, 2019</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>10,431</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<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 http://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_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>nonnum: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>76
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6779929616">
<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>Sep. 29, 2019</div></th>
<th class="th"><div>Dec. 31, 2018</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_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Reserves for accounts receivable</a></td>
<td class="nump">$ 1,874<span></span>
</td>
<td class="nump">$ 1,646<span></span>
</td>
</tr>
<tr class="re">
<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</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</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</a></td>
<td class="nump">170,897,000<span></span>
</td>
<td class="nump">170,820,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>A valuation allowance for trade and other receivables due to an Entity within one year (or the normal operating cycle, whichever is longer) that are expected to be uncollectible.</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 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84173941&amp;loc=d3e5074-111524<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.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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>num: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 http://asc.fasb.org/extlink&amp;oid=6877327&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 http://asc.fasb.org/extlink&amp;oid=6877327&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_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>77
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6770945504">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Pronouncements<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2016-13 applies to all reporting entities holding financial assets that are not accounted for at fair value through net income (debt securities).&#160; The amendments in this ASU eliminate the probable initial recognition threshold to recognize a credit loss under current U.S. GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this ASU broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&#160; The amendments in this ASU require that credit losses on available-for-sale debt securities be presented as an allowance rather than as a write-down and an entity will be able to record reversals of credit losses in current period net income.  For public companies, the guidance in ASU 2016-13 is effective for annual periods beginning after December 15, 2019, and interim periods within those annual periods.&#160; This ASU should be applied through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective.  As of the date of this report, management is in the process of completing the implementation of this ASU, including finalizing the internal credit losses policy and the related processes, internal control, and disclosures.  Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.  </span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-08, "Receivables - Nonrefundable Fees and Other Costs - Premium Amortization on Purchased Callable Debt Securities"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2017-08 applies to all reporting entities that hold investments in callable debt securities that have an amortized cost basis in excess of the amount that is repayable by the issuer at the earliest call date (that is, at a premium).  The amendments in this ASU shorten the amortization period for certain callable debt securities held at a premium. Specifically, the amendments require the premium to be amortized to the earliest call date.  The amendments do not require an accounting change for securities held at a discount; the discount continues to be amortized to maturity.   Under current GAAP, premiums and discounts on callable debt securities generally are amortized to the maturity date. If that callable debt security is subsequently called, the entity records a loss equal to the unamortized premium.  The amendments in this ASU more closely align the amortization period of premiums and discounts to expectations incorporated in market pricing on the underlying securities.  For public companies, the amendments in ASU 2017-08 are effective for annual periods beginning after December 15, 2019 and interim reporting periods within annual years beginning after December 15, 2020.  This ASU should be applied on a modified retrospective basis through a cumulative-effect adjustment directly to retained earnings as of the beginning of the period of adoption, and, in the period of adoption, the entity is required to provide disclosures about the change in accounting principle.  Early adoption is permitted, including adoption in an interim period.  Management does not expect ASU 2017-08 to have a material impact on the Company's financial statements and disclosures.</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-15, "Intangibles - Goodwill and Other - Internal-Use Software"</span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">ASU 2018-15 applies to entities that are a customer in a hosting arrangement that is a service contract.  The amendments  in this ASU align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software.  Accordingly, the amendments in this ASU require an entity in a hosting arrangement that is a service contract to follow the guidance in Subtopic 350-40 to determine which implementation costs to capitalize as an asset related to the service contract and which costs to expense.  Further, it requires the entity to expense the capitalized implementation costs over the term of the hosting arrangement.  In addition, it requires the presentation of the expenses related to the capitalized implementation costs in the same line item in the statement of income as the fees associated with the hosting element of the arrangement and the classification of the payments for the capitalized implementation costs in the statement of cash flows in the same manner as the payments made for the fees associated with the hosting element.  The amendments in this ASU are effective for public entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years, with early adoption permitted.  Management does not expect ASU 2018-15 to have a material impact on the Company's financial statements and 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 of changes in accounting principles, including adoption of new accounting pronouncements, that describes the new methods, amount and effects on financial statement line items.</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 250<br> -URI http://asc.fasb.org/topic&amp;trid=2122394<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>78
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775169840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">On January 1, 2019, the Company adopted Accounting Standards Codification (ASC) 842,  &#8220;Leases,&#8221; using the transition method of adoption, which allowed the Company to apply the standard on a prospective basis with a cumulative-effect adjustment to the opening balance sheet as of the adoption date.  Accordingly, the Company recorded lease assets </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">of $</span><span style="font-family:Arial;font-size:10pt;"><span>17,522,000</span></span><span style="font-family:Arial;font-size:10pt;">, current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span>4,736,000</span></span><span style="font-family:Arial;font-size:10pt;">, and non-current lease liabilities of $</span><span style="font-family:Arial;font-size:10pt;"><span>12,669,000</span></span><span style="font-family:Arial;font-size:10pt;"> on its Consolidated Balance Sheet as of January 1, 2019.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">As part of the adoption, the Company elected a practical expedient package to be applied to all of its leases upon transition, and as a result, the Company did not reassess: 1) whether any expired or existing contracts contain leases; 2) the lease classification for any expired or existing leases; and 3) the accounting for initial direct costs for any existing leases. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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.  There were no options to extend or terminate that were included in the determination of the lease term for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  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 the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The total operating lease expense for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span>1,749,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$4,976,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively.  The total operating lease cash payments for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> was $</span><span style="font-family:Arial;font-size:10pt;"><span>1,708,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$4,778,000</span></span><span style="font-family:Arial;font-size:10pt;">, respectively. The total lease expense for leases with a term of twelve months or less for which the Company elected not to recognize a lease asset or lease liability was $</span><span style="font-family:Arial;font-size:10pt;"><span>22,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$255,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively.</span></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future operating lease cash payments are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount </span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,650</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,628</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,314</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2023</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,988</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2024</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>831</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Thereafter</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>309</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>17,551</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The discounted present value of the future lease cash payments resulted in a lease liability of $</span><span style="font-family:Arial;font-size:10pt;"><span>16,167,000</span></span><span style="font-family:Arial;font-size:10pt;"> as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.</span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The weighted-average discount rate was </span><span style="font-family:Arial;font-size:10pt;"><span>4.8</span></span><span style="font-family:Arial;font-size:10pt;">% for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  The weighted-average remaining lease term was </span><span style="font-family:Arial;font-size:10pt;"><span>3.6 years</span></span><span style="font-family:Arial;font-size:10pt;"> for the leases outstanding as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">.  The Company did not have any leases that have not yet commenced but that create significant rights and obligations as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company owns a building adjacent to its corporate headquarters that is partially occupied with a tenant who has a lease agreement that will expire in 2022.  Rental income was </span><span style="font-family:Arial;font-size:10pt;"><span>$76,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>$77,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the three-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. Rental income was $</span><span style="font-family:Arial;font-size:10pt;"><span>234,000</span></span><span style="font-family:Arial;font-size:10pt;"> and $</span><span style="font-family:Arial;font-size:10pt;"><span>236,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the nine-month period ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span><span style="font-family:Arial;font-size:10pt;">, respectively. </span></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Future minimum rental receipts under non-cancelable lease agreements are as follows (in thousands):</span></div><div style="line-height:120%;padding-top:12px;text-align:center;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;margin-left:auto;margin-right:auto;width:99.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="5"/></tr><tr><td style="width:84%;"/><td style="width:3%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amount</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2019</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>77</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2020</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2021</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">2022</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>998</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://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>nonnum: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>EXCEL
<SEQUENCE>79
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    (  >!7$\?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ !X%<3R?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    "  '@5Q/X!6#3.X    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!2L0P$(9?17)OI^G"JJ&;B^))07!!\1:2V=U@DX9DI-VW-XV[
M740?0,@E,W^^^0;2Z2#T$/$Y#@$C64Q7D^M]$CILV($H"("D#^A4JG/"Y^9N
MB$Y1OL8]!*4_U!ZA;9HU."1E%"F8@558B$QV1@L=4=$03WBC%WSXC'V!&0W8
MHT-/"7C-@<EY8CA.?0<7P PCC"Y]%] LQ%+]$ULZP$[)*=DE-8YC/:Y*+N_
MX>WI\:6L6UF?2'F-^56R@HX!-^P\^75U=[]]8+)M^&W%FZJ]V?*U:*[S>9]=
M?_A=A-U@[,[^8^.SH.S@U[^07U!+ P04    "  '@5Q/F5R<(Q &  "<)P
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
M9"!RD7\J3+%:M/H2M</+/Q9]CL4]V7>SZ3?=JW#/;/"=W3VOTD5R[MV,B/6
MH!N$N"(2Z_M*0(A@3<R<L+F$\4EG+F_,)3;/H'GFS+,;\\P['D?DF""'!#DS
MGW@$'#'%!!-(,&'F,X^ (^:88 H)ILQ<^"4 (($:F$&*&;<GCP)  HF>0XHY
MM_<S#2"!5(L4:R7E'OQL(TP@WR*@2,$]^"E'F$#2!93E@R#F@9CR 2:0=X'5
M*R3WX&<>80*I%UCD@FN8_.0#3*B&!5:ZX$*FW&<!F$F !<M=<#73U&<!F%F
M!6M><$73W&?A&)D&6+#L!1>U%#X+P 0^$ (K7W!=2^FS<$PH+X2U3US7TJ\Q
MA ET&,+:)ZYKZ7<8A ET&,+:)ZYKZ7<8A ET&,+:)Z[KS.\P"!/Z=X&U3^ +
M[W<8A FQ8.T3UW7FUQC"9 $6K'WBNL[\#@,PH3Y&6/O$=9VQ&OO_+SYA[1/7
M=>;W,8 )LF#M$]=UQBH98 *5++'V)==U[E<RP@3.(K'V)==U[E<RP@2^E1)K
M7W)=YWX?&S&YPS3C?YAT-I_2W"_HY&;.J%6[=Q-6%VWTJ7'CW<WN=8I[<$-<
M\@$?1L#O1;LOFRYZT<9..VXFV6EME(THO;.Q'.S4>5U4:F?ZVZF];X?1:U@8
M?1S'RN0ZVZ[^ 5!+ P04    "  '@5Q/\MQ\NEX$  #=$P  &    'AL+W=O
M<FMS:&5E=',O<VAE970R+GAM;(V8VV[C-A"&7\7P?2,.SPH< _&A:($6"+9H
M>ZW83&RL9+F2$F_?OM0A7GEFE.V-)='?D/.3HQF*BTM9?:T/(32S;T5^JA_F
MAZ8YWR=)O3N$(JOORG,XQ7]>RJK(FOA8O2;UN0K9OC,J\D0*89,B.Y[FRT77
M]E0M%^5;DQ]/X:F:U6]%D57_KD)>7A[F,/]H^')\/31M0[)<G+/7\$=H_CP_
M5?$IN?:R/Q;A5!_+TZP*+P_S1[C?2MD:=,1?QW"I1_>S5LIS67YM'W[=/\Q%
MZU'(PZYIN\CBY3VL0YZW/44__ADZG5_'; W']Q^]_]R)CV*>LSJLR_SOX[XY
M/,S]?+8/+]E;WGPI+[^$09"9SP;UOX7WD$>\]22.L2OSNON=[=[JIBR&7J(K
M1?:MOQY/W?4R]/]AQAO(P4!>#>+8GQFHP4!]-]"?&NC!0/_?$<Q@8- (2:^]
MF\Q-UF3+155>9E4?#^>L#3NX-W&Y=FUCMSK=?W$^Z]CZOC1FD;RW_0S(JD?D
M&+&WR(8B<"62./[5"<DYL9)T!'<[PII!/'+BQ[UL/^WEQE'%SI;J[-78/N7M
M-6NO.WL]LK<"S7:/V XY]5/IE9)H4=84DTI*"6A.*&:,\7C]MA2SH(21O#;#
M:C-4&_)FU2-F-(QV5DDDC5+&>SQ/&TJ!UMXKI(S!3)PHQRNSK#)+E2&?5Y8.
MHXQ-D3=K!G-*X7G:4$R#2!W6QF F]:-0N='F6&V.:D/#K!P91GH ') ,E3J!
M5XU2WFJ%PY&AG+6:U^5979[JTDB7)Z/8&$'(ES5#&0\HL6PH!6EJ- J3+8=9
M:2VO+&65I509SM@I#0PE4OR>4<HYK]$L;2@%4D=M2!F#.>/3B5@$P1<C0;6A
M]5@-S'BDGT!B?]8<IER*Q+&=:8%?- YS8J)RP$2A!:K-86U 4Q^ QM(HI5*%
M(Y*AP$@2D1PFG)J(2&#K]R-(JLUC;9+)5OAE8Z!V<;$T2H%4*5;&])5.K1E?
M[D%172G6I9BBIO#2KAG,@\0I?<-@,1X%2?T<Y\UD[@=^.P)T/^+P?F1@;F+2
M>IQ+&,K3D*006*-P*N$P2-U42/*[$:#;$8>W(P,SWO9HL)ZD$HIY08K6AL%B
M5!KEL3R&<\KKB8TD\'L2L&0KZB:V:\!7?J"E'X?9:F#<R%=Q)TE"XBA-5I^C
M',E'E(([,?$U 7SM!UK\'2[^ _,C91RE#5;&43C:MBPUF9#XV@\I7?6)5U[R
M)5;2$NMPB96TW($3#F\-UBPGP>-\S7(@#$YJ?'_Q2V1"(5]H)2VT#A=:R52]
MJ$^G6"''.4DB@.4,X"WGEN6\D%-?RWRYE;3<.EQN!\;?1)O J8VGJ#P.PU\
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
MCLT(>L?6J2!SJ!/CCC)<48 K4+@BAZ;QUE&V"C*G$%.&9+2B@%:@:$7.3*.
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
M\Z%K-V.4D,JF_G;\N]H.?U_'^-^'X0%Z'*!/ Y1^=P"- ^C' 'IW@!D'F-,
M7;X[P(X#[(\9_+L#W#C G0;0,,/LN%C#ZL_KKKZ^W+>OD_WQ .WJ_IRJCR[L
M[UW_X;"=P_^%#3B$3U^NE7.7LY<^T*BY.6ITI"ECS2W2^%@S1YHJUBR IBQB
MS1)IU$DS"]=[NF@-+UH/ 4P40+,+.FKLH-F.&K)%B><A. ^!>8@M[E'CWLY3
M5-9QW:W4D6&;,)<:XQ01VX>%E#GGK6?1EE)V0<96%5X! U? ##$H6@&# U@8
MP((EM&QIK-PJ0XE9')S%R5DL6XX;)V;1UGM^;)S<)K9),$Z96-42IEN"16$W
M[6TIIKG0I2WP-!Y.X\&JL+-TX^4TRFCM^+IX>9C8-BX2H6SBEJM@SI7,V2B6
M<R4FHG"7,!+-<ZHH&55@NA9@"2N.UP)L%6E/'(U979Q2 OA*I.3Y HT:!C]O
M!*RSNC@C3&.%<,SO/B5Y?*&\J P959P.AK9"U.;'?A1%$UFR/)V,*DX'$U09
MD(XX0@9,5/"LEUE9G! FL@)(YAMQJP"32ZVJ1)E6&,L*<%D>5@E4I4QEC.$Y
M 38;MF5S$,TJ;ZWC1U_J7%E4\@A(W84IJ-*)A<# 5X#XHO0HB?RPY@6EIL+0
M5X#Z'$4W2K):%66E2.0DN4]\8^8@FJD\&0% J7.JTDKS-0>5A'SI$H5$X4JB
MJO-[%XWQKP'^1?>B)=:M33!=8Z9KR739OV@ Z[!IBJ>C9$/*]BL1*8%9G>C!
M$?5Y$Z,!SZE*;0+FN08\%VV,!J36H0_G#-&R*6;H6^1#Q5EC[&N ?='(:,GS
M2O';9IY3Q>E@Z&L ?='(: G]B[+DLD56%B>$2X.6I4%4!BW9ZPM#'.5969P/
M)K1&/;FX!26AK>;TRHCB9###-6"X:&$TH*3FS_[+G"I.!Y-4@Z9<M#!:]MNA
M=>-[NLS*XL=RS&4"7!8M#$DNO]?"$$8S 32+@TJ N;"% 4+9PI#$,VQA@ ZV
M,$#W7@M#F/<$>.\-7PCDNA1>B[W)ZN*4$O8,J S>\I2 0:/(:B<,&N30:+XW
MLCA87>E"6#12YXS3RO"] <7&%+9('5)<;.@G;!K"!8+.,6H(.35EXGF(,/CI
M'*^&)-(I$% <H[Q;@R.5*1L0%P<ZQ[ AX-@HJA(/9X3)3^=X-@28[I2KQ/(
MTX;WY(E8/K5 N$+0.;8- 4<F/$R(6RPGBVU+7"',.<:-08:,=?S!;)'7Q2GA
M2F+.,&X,Z,PU6>$ YW5Q1ACIYASCQDA4&Z^YUYQ3Q>E@G)MSC!L#@%DJWO7D
M5'$Z">O['.-F%$6WF+*\[B\-,&XB69P01K1!Q@W_KL<@XZ;P%?^^)Z^+4\(P
M-\C@$2=(4CH<UO#<[WE.R.#A>## X F=%C^1"Z +=RQQ*V0)=!=45JGO'PRN
M$ 89/.+ZD,%3.)<H]@:7"(,,'G$N@<$36E]G>(TPR.#AA@&(9DOON?>P #IG
M*DWB=D &C_-%Z@;%1<?\A,%C<9FPYQ@\5N)?IYXN+6:_/<?@L:#O)]&FVKR_
M@P,EJI7%M<&"VB JN@5M?*$J[@]F97%"N#I89 /Q8V\!][T5CD%6%B>$ZX.5
M]4'4<RNY;T)SQ;\YR\KB?!+?M*(.7IPQB7WM^ -C1A0G@PN#!85!U'(+T*OY
MZ5GF5'$Z&,\6-?#B\)2@EA=5Q?-!?7Z1^EK=8HA;!'%>RRV .*KE>5V<$L:I
M!3V\J.6C*%_+@5#6<B""M1SH8"T'.EC+9V]^7=/_ NN/>O^XVAXF7]JN:S?#
MSVD>VK9K0LSB0UC6IZ:^/[U9-P]=_[(,K_?'7SX=WW3M;OQ5U^STT[+K_P%0
M2P,$%     @ !X%<3_N#BQ\* @  BP4  !@   !X;"]W;W)K<VAE971S+W-H
M965T.2YX;6R-5-N.FS 0_17D]ZZY9K,10=I<JE9JI6BKML\.3 ):&U/;"=N_
MKVT<EA":]@5[AG/.7!@F;;EXE26 \MX8K>42E4HU"XQE7@(C\H$W4.LW!RX8
M4=H41RP; :2P)$9QZ/LSS$A5HRRUOIW(4GY2M*IA)SQY8HR(WRN@O%VB %T<
M+]6Q5,:!L[0A1_@&ZGNS$]K"O4I1,:AEQ6M/P&&)GH/%-C9X"_A102L'=\]4
MLN?\U1B?BR7R34) (5=&@>CC#&N@U CI-'XY3=2'-,3A_:+^T=:N:]D3"6M.
M?U:%*I=HCKP"#N1$U0MO/X&K)T&>*_X+G(%JN,E$Q\@YE?;IY2>I.',J.A5&
MWKJSJNW9.OT+;9H0.D+8$W3L>X3($:)W0GR7$#M"_+\1$D=(1A%P5[MMYH8H
MDJ6"MY[HQJ$A9NJ"1:(_5VZ<]NO8=[J?4GO/6?#DI_ALA!QFU6'" 2:974,V
MMY"@1V"=0)]%.)7%*KR-\'@=83T!F8^2^+?*]J[*5:+19+LBRX^NVO672N-)
M@=@*Q .!IW#4[@XRLY#:0CXDHV;<0L)XU(Q;2.*/(FTG(LW#435X,$D,Q-'^
MUM++^:E6IA,#;[\YGD,SB2/_*EBL@PG_1F^:;C&\RW=KZBL1QZJ6WIXK/?]V
M2@^<*]"I^P]Z[DN]&7N#PD&9ZZ.^BVX_=(;BC5M]N-^_V1]02P,$%     @
M!X%<3QTKXOJU 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL
M?5/M;IPP$'P5RP\0WP%ITA,@Y5)5J=1(IU1M?_M@ 2O^(+8YDK?OVA!*6]0_
MV+O,S,[:ZWPT]MEU )Z\*JE=03OO^P-CKNI <7=E>M#XIS%6<8^A;9GK+? Z
MDI1DR6[W@2DN-"WSF#O9,C>#ET+#R1(W*,7MVQ&D&0NZI^^))]%V/B18F?>\
MA6_@O_<GBQ%;5&JA0#MA-+'0%/1N?SAF 1\!/P2,;K4GH9.S,<\A^%(7=!<,
M@83*!P6.RP7N0<H@A#9>9DVZE S$]?Y=_7/L'7LY<P?W1OX4M>\*>DM)#0T?
MI'\RXP/,_5Q3,C?_%2X@$1Z<8(W*2!>_I!J<-VI602N*OTZKT'$=IS]9.M.V
M"<E,2!;";:S#ID+1^2?N>9E;,Q([G7W/PQ7O#PF>3162\2CB/S3O,'LI]Q^3
MG%V"T(PY3IADC5D0#-67$LE6B6/R#_WZ9IN?;EI,(S_]PV*Z+9!M"F11(/MO
MCUN8[*\B;'6H"FP;Q\F1R@PZCO(JNTSL71(OY3=\&O=';ENA'3D;CU<;+Z Q
MQ@-:V5WA#'7XPI9 0N/#]@;W=IJS*?"FGY\06]YQ^0M02P,$%     @ !X%<
M3V1,!^&Q 0  TP,  !D   !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL?5-_
M;YLP$/TJEC] G9"D[2) :EI-F[1)4:>U?SMP@%7_8+8)[;??V1#*.M1_L.]X
M[]T[^YSVQKZX!L"35R6URVCC?;MGS!4-*.ZN3 L:_U3&*NXQM#5SK05>1I*2
M+%FMKIGB0M,\C;FCS5/3>2DT'"UQG5+<OAU FCZC:WI)/(JZ\2'!\K3E-?P"
M_[L]6HS8I%(*!=H)HXF%*J-WZ_UA&_ 1\"2@=[,]"9V<C'D)P?<RHZM@""04
M/BAP7,YP#U(&(;3Q9]2D4\E G.\OZE]C[]C+B3NX-_)9E+[)Z"TE)52\D_[1
M]-]@[&='R=C\#SB#1'AP@C4*(UW\DJ)SWJA1!:TH_CJL0L>U'_4OM&5",A*2
M#P0V%(K.'[CG>6I-3^QP]BT/5[S>)W@V14C&HXC_T+S#[#E??]FE[!R$1LQA
MP"1SS(1@J#Z52)9*')+_Z+N;9?YFT>(F\C?_6+Q>%M@N"FRCP/;3'I<P'UVR
MV:$JL'4<)T<*T^DXRK/L-+%W2;R4=_@P[C^YK85VY&0\7FV\@,H8#VAE=84S
MU. +FP()E0_;&]S;8<Z&P)MV?$)L>L?Y7U!+ P04    "  '@5Q/URK=>K<!
M  #3 P  &0   'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q]4^UNG# 0?!7+
M#Q#?<:2YG  IEZIJI40ZI6K[VP<+6/$'M<V1O'W6AE#:H/[!WF5F=M9>9X.Q
MSZX%\.1%2>URVGK?'1AS90N*NRO3@<8_M;&*>PQMPUQG@5>1I"1+-IM/3'&A
M:9'%W,D6F>F]%!I.EKA>*6Y?CR#-D-,M?4\\B:;U(<&*K.,-? ?_HSM9C-BL
M4@D%V@FCB84ZIW?;PS$-^ CX*6!PBST)G9R->0[!MRJGFV ())0^*'!<+G /
M4@8AM/%[TJ1SR4!<[M_5O\3>L9<S=W!OY"]1^3:G>THJJ'DO_9,9OL+4SS4E
M4_,/< &)\. $:Y1&NO@E9>^\49,*6E'\95R%CNLP_MFE$VV=D$R$9";L8QTV
M%HK./W//B\R:@=CQ[#L>KGA[2/!LRI",1Q'_H7F'V4NQO=UG[!*$)LQQQ"1+
MS(Q@J#Z72-9*'),/].N;=?YNU>(N\G=_6;Q=%TA7!=(HD/ZWQX\8'.Q_BK#%
MH2JP31PG1TK3ZSC*B^P\L7=)O)0_\''<'[EMA';D;#Q>;;R VA@/:&5SA3/4
MX@N; PFU#]L;W-MQSL; FVYZ0FQ^Q\4;4$L#!!0    (  >!7$_:!O;UM $
M -,#   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;'U3T6Z<,!#\%<L?
M$',^TD0G0,HEJEJIE4ZIVC[[8 $K-J:V.=*_[]IPA+8H+]B[S,S.VNML-/;%
MM0">O&K5N9RVWO<'QES9@A;NQO30X9_:6"T\AK9AKK<@JDC2BO$D^<"TD!TM
MLI@[V2(S@U>R@Y,E;M!:V-]'4&;,Z8Y>$\^R:7U(L"+K10/?P'_O3Q8CMJA4
M4D/GI.F(A3JG#[O#,0WX"/@A872K/0F=G(UY"<'G*J=), 0*2A\4!"X7> 2E
M@A#:^#5KTJ5D(*[W5_6/L7?LY2P</!KU4U:^S>D])1748E#^V8R?8.[GEI*Y
M^2]P 87PX 1KE$:Y^"7EX+S1LPI:T>)U6F47UW'ZDUYIVP0^$_A"N(\$-A6*
MSI^$%T5FS4CL=/:]"%>\.W \FS(DXU'$?VC>8?92\&27L4L0FC''"<-7F#<$
M0_6E!-\J<>3_T6_OMOG[38O[R-__99%O"Z2; FD42-_M<0NS_Z<(6QVJ!MO$
M<7*D-$,71WF572;V@<=+>8-/X_Y5V$9VCIR-QZN-%U ;XP&M)#<X0RV^L"50
M4/NPO<.]G>9L"KSIYR?$EG=<_ %02P,$%     @ !X%<3WUU QFW 0  TP,
M !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&UL?5/;;IPP$/T5RQ\0@Y=M
MHA4@95-%J=1*JT1MGKTP@!5?J&V6].]C&T)0@OIB>\;GG+EXG(_:O-@.P*%7
M*90M<.=<?R#$5AU(9J]T#\K?--I(YKQI6F)[ ZR.)"D(39)O1#*N<)E'W\F4
MN1Z<X I.!ME!2F;^'4'HL< I?G<\\K9SP4'*O&<M/('[W9^,M\BB4G,)RG*M
MD(&FP+?IX9@%? 3\X3#:U1F%2LY:OP3C1UW@)"0$ BH7%)C?+G '0@0AG\;?
M61,O(0-Q?7Y7OX^U^UK.S,*=%L^\=EV!;S"JH6&#<(]Z?("YGCU&<_$_X0+"
MPT,F/D:EA8TKJ@;KM)Q5?"J2O4X[5W$?IYL=G6G;!#H3Z$*XB7'(%"AF_ITY
M5N9&C\A,O>]9>.+T0'UOJN",K8AW/GGKO9<R3=*<7(+0C#E.&+K&+ CBU9<0
M="O$D7ZA[Z^W^;O-%'>1OUOQ:9)M"V2; ED4R/Y;XU<,3?:?@I!54R68-HZ3
M194>5!SEE7>9V-OXBN0#/HW[+V9:KBPZ:^>?-CY H[4#GTIRY6>H\S]L,00T
M+ARO_=E,<S893O?S%R++/R[? %!+ P04    "  '@5Q/XW6UEK4!  #3 P
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q]4^UNW" 0?!7$ P0?=TE.
M)]M2+E652JUT2M3V-V>O;10^',#G].T#F#ANZ_:/8=<SL[.PY*,VS[8#<.A5
M"F4+W#G7'PBQ50>2V2O=@_)_&FTD<SXT+;&] 59'DA2$9MD-D8PK7.8Q=S)E
MK@<GN(*307:0DIE?1Q!Z+/ &OR<>>=NYD"!EWK,6GL!][T_&1V16J;D$9;E6
MR$!3X+O-X;@+^ CXP6&TBST*G9RU?@[!E[K 63 $ BH7%)A?+G /0@0A;^,E
M:>*Y9" N]^_JGV/OOI<SLW"OQ4]>NZ[ >XQJ:-@@W*,>'R#U<XU1:OXK7$!X
M>'#B:U1:V/A%U6"=EDG%6Y'L=5JYBNN8_NP3;9U $X'.A'VL0Z9"T?DGYEB9
M&STB,YU]S\(5;P[4GTT5DO$HXC]OWOKLI:3934XN02AACA.&+C";&4&\^ER"
MKI4XTK_HU[?K_.VJQ6WD;W^S^ ^!W:K +@KL_MOC&F;_1Q&R.%0)IHWC9%&E
M!Q5'>9&=)_:.QDOY@$_C_HV9EBN+SMKYJXT7T&CMP%O)KOP,=?Z%S8& QH7M
MK=^;:<ZFP.D^/2$RO^/R#5!+ P04    "  '@5Q/P&]KE+<!  #3 P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6Q]4^UNW" 0?!7$ P2;NVO2DVTI
MEZAJI58ZI6KZF[/7'PJP+N!S^O8%[+A6:^6/8=<SL[.P9".:%]L"./*JI+8Y
M;9WKCXS9L@4E[ WVH/V?&HT2SH>F8;8W(*I(4I+Q)/G E.@T+;*8.YLBP\')
M3L/9$#LH)<SO$T@<<YK2M\13U[0N)%B1]:*![^!^]&?C([:H5)T";3O4Q$"=
MT_OT>-H'? 0\=S#:U9Z$3BZ(+R'X4N4T"89 0NF"@O#+%1Y RB#D;?R:->E2
M,A#7^S?U3[%WW\M%6'A ^;.K7)O3.THJJ,4@W1..GV'NYT#)W/Q7N(+T\.#$
MURA1VO@EY6 =JEG%6U'B=5H['==Q^G/8S;1M I\)?"'<Q3IL*A2=/PHGBLS@
M2,QT]KT(5YP>N3^;,B3C4<1_WKSUV6O!DX\9NP:A&7.:,'R%21<$\^I+";Y5
MXL3_HQ]NM_F[38N[R-^M+:;)ML!^4V ?!?;O]KB!2?_MDJT.58%IXCA94N*@
MXRBOLLO$WO-X*7_AT[A_$Z;IM"47=/YJXP74B Z\E>3&SU#K7]@22*A=V-[Z
MO9GF; H<]O,38LL[+OX 4$L#!!0    (  >!7$]0W55UM0$  -,#   9
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
M8[P& AKKMX]NK^?'/ =6#<N<DO7/HOP#4$L#!!0    (  >!7$^G^A?]X@$
M  (%   9    >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;&U4;8^<(!#^*X0?
M<*BKZW:C)K?7-&W2)IMK>OW,ZOB2 [& Z_7?%]"SUO)%F.&9YYE!9K))R%?5
M FCTQEFO<MQJ/9P)464+G*H',4!O3FHA.=7&E U1@P1:N2#.2!0$1\)IU^,B
M<[ZK+#(Q:M;U<)5(C9Q3^?L"3$PY#O&[X[EK6FT=I,@&VL!WT#^&JS0665FJ
MCD.O.M$C"76.'\/S);5X!WCI8%*;/;*5W(1XM<:7*L>!30@8E-HR4+/<X0D8
MLT0FC5\+)UXE;>!V_\[^R=5N:KE1!4^"_>PJW>;XA%$%-1V9?A;39UCJ23!:
MBO\*=V &;C,Q&J5@RGU1.2HM^,)B4N'T;5Z[WJW3?)(F2Y@_(%H"HC7@Y'3(
M+.0R_T@U+3(I)B3GNQ^H_<7A.3)W4UJGNPIW9I)7QGLOHCC.R-T2+9C+C(DV
MF'!%$,.^2D0^B4OT7WB2^N,/WA0/+OZP33&(_ 2QER!V!/$_-2:[&GV8HU\D
M\8HD'H)T)^+#G/PB1Z_(T4/P82?BP22!7R3UBJ0>@G GXL/L_PG9O$$.LG'=
MIU IQMYU_L:[-OACY-[P7_@\';Y1V72]0C>A32>X]UH+H<&D$CR86VW-0%H-
M!K6V6]- 2,YM.1M:#,O$(>O8*_X 4$L#!!0    (  >!7$_-F3@0N $  -,#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;&U3[6Z<,!!\%<L/$'.&
M:Z(3(.521:G42J=$;7[[8 $K_J"V.=*WCVT((2E_L'>9F9VUU_FHS8OM !QZ
ME4+9 G?.]0=";-6!9/9*]Z#\GT8;R9P/34ML;X#5D20%H4GRC4C&%2[SF#N9
M,M>#$US!R2 [2,G,OR,(/19XA]\3C[SM7$B0,N]9"T_@?O<GXR.RJ-1<@K)<
M*V2@*?#M[G#, CX"_G 8[6J/0B=GK5]"\*,N<!(,@8#*!07FEPO<@1!!R-OX
M.VOBI60@KO?OZO>Q=]_+F5FXT^*9UZXK\ U&-31L$.Y1CP\P][/':&[^)UQ
M>'APXFM46MCX1=5@G9:SBK<BV>NT<A77<?J3TIFV3: S@2Z$FUB'3(6B\^_,
ML3(W>D1F.ON>A2O>':@_FRHDXU'$?]Z\]=E+2?=I3BY!:,8<)PQ=878+@GCU
MI03=*G&D_]'WU]O\=--B&OGIVF*2;0MDFP)9%,@^]9A]Z7$+L_]2A*P.58)I
MXSA95.E!Q5%>99>)O8VW2#[@T[C_8J;ERJ*S=OYJXP4T6COP5I(K/T.=?V%+
M(*!Q87OM]V::LREPNI^?$%G><?D&4$L#!!0    (  >!7$]^<.J<R $  #@$
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;'54[8Z;,!!\%<L/<"8D
M)&D$2)>KJE9JI>BJMK\=6, Z?U#;A.O;US8<I:G[!]OKV9E9VTL^*OUB.@"+
M7@67IL"=M?V)$%-U(*AY4#U(M],H+:AU2]T2TVN@=4@2G*1)LB>",HG+/,0N
MNLS58#F3<-'(#$)0_>L,7(T%WN"WP#-K.^L#I,Q[VL)7L-_ZBW8KLK#43( T
M3$FDH2GPX^9TSCP^ +XS&,UJCGPE5Z5>_.)37>#$&P(.E?4,U TW> +./9&S
M\7/FQ(ND3US/W]@_A-I=+5=JX$GQ'ZRV78&/&-70T(';9S5^A+F>#*.Y^,]P
M ^[@WHG3J!0WX8NJP5@E9A9G1=#7:60RC..T<SC.:?&$=$Y(EX1CT"&34'#^
MGEI:YEJ-2$]GWU-_Q9M3ZLZF\L%P%&'/F3<N>BO3;)^3FR>:,><)DZXPFP5!
M'/LBD<8DSND_Z=DAGK^-6MR&_.W:8O(?@EV48!<(=G_5>+BK,88YQD6RJ$@6
M(7AW)Q+![),[$;*Z.0&Z#6_6H$H-,O3+*KJTQ6,:;OX/?.JI+U2W3!IT5=:]
MGW#+C5(6G)7DP7GI7!LO"PZ-]=.#F^OI,4\+J_JY3\GRLRA_ U!+ P04
M"  '@5Q/Y'"M4L8!   X!   &0   'AL+W=O<FMS:&5E=',O<VAE970S,"YX
M;6QM5-MNW" 0_17$!P2;72?IRK:4312U4BNM4K5]9NWQ1>'B EZG?U_ CN-N
M>3$PG#GG###.)Z5?30=@T9O@TA2XLW8X$&*J#@0S-VH Z78:I06S;JE;8@8-
MK Y)@A.:)+=$L%[B,@^QDRYS-5K>2SAI9$8AF/YS!*ZF J?X/?#2MYWU 5+F
M VOA.]@?PTF[%5E9ZEZ -+V22$-3X(?T<,P\/@!^]C"9S1SY2LY*O?K%E[K
MB3<$'"KK&9@;+O (G'LB9^/WPHE729^XG;^S/X?:72UG9N!1\5]];;L"WV-4
M0\-&;E_4]!F6>C*,EN*_P@6X@WLG3J-2W(0OJD9CE5A8G!7!WN:QEV&<YIWL
MTY(63Z!+ ET3[H,.F86"\R=F69EK-2$]G_W _!6G!^K.IO+!<!1ASYDW+GHI
MZ6V:DXLG6C#'&4,WF \$<>RK!(U)'.E_Z=E=/'\7M;@+^;NMQ32)$^RC!/M
ML/^G1GI58PRSBXMD49$L0K"_$HEALBL1LKDY ;H-;]:@2HTR],LFNK;% PTW
M_P&?>^H;TVTO#3HKZ]Y/N.5&*0O.2G+CO'2NC=<%A\;ZZ9V;Z_DQSPNKAJ5/
MR?JS*/\"4$L#!!0    (  >!7$\^WJ#9N0$  -,#   9    >&PO=V]R:W-H
M965T<R]S:&5E=#,Q+GAM;&U3[6Z<,!!\%<L/$!\^<G<Z 5(N4=1*C71*U/:W
M#Q:PX@]JFR-Y^]B&4)KR!WN7F=E9>YT-VKS:%L"A-RF4S7'K7'<DQ)8M2&9O
M= ?*_ZFUD<SYT#3$=@98%4E2$+K9[(AD7.$BB[FS*3+=.\$5G VRO93,O)]
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
MTAPP*+6=QF8NQVLY!EITTXN#YV<O^PM02P,$%     @ !X%<3WD>WA^U 0
MTP,  !D   !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL;5-A;YLP$/TKEG]
MG3BD[2) :CI-F[1)4:=UGQTXP*J-F6U"]^]W-H2QC"_8=[SW[IU]3@=CWUP#
MX,F[5JW+:.-]=V#,%0UHX>Y,!RW^J8S5PF-H:^8Z"Z*,)*T8WVSNF1:RI7D:
M<R>;IZ;W2K9PLL3U6@O[^PC*#!G=TFOB1=:-#PF6IYVHX3OX']W)8L1FE5)J
M:)TT+;%09?1I>S@F 1\!KQ(&M]B3T,G9F+<0?"DSN@F&0$'A@X+ Y0+/H%00
M0AN_)DTZEPS$Y?ZJ_BGVCKV<A8-GHW[*TC<9?:2DA$KTRK^8X3-,_>PIF9K_
M"A=0" ].L$9AE(M?4O3.&SVIH!4MWL=5MG$=)OTK;9W )P*_(;"Q4'3^47B1
MI]8,Q(YGWXEPQ=L#Q[,I0C(>1?R'YAUF+SG_D*3L$H0FS''$\ 5F.R,8JL\E
M^%J)(_^/OG]8Y^]6+>XB?[>TR!_7!9)5@20*)/_TN+_I<0US?U.$+0Y5@ZWC
M.#E2F+Z-H[S(SA/[Q..E_(6/X_Y-V%JVCIR-QZN-%U 9XP&M;.YPAAI\87.@
MH/)A^X![.\[9&'C334^(S>\X_P-02P,$%     @ !X%<3[YG"$>Y 0  TP,
M !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL=5/;;IPP$/T5RQ\0[\*F
M>Q$@95-5K=1*JU1MG[TP@!5?J&V6].\[-H32E+Y@SW#.F3/V.!N,?78M@"<O
M2FJ7T];[[L28*UM0W-V9#C3^J8U5W&-H&^8Z"[R*)"59LMF\8XH+38LLYBZV
MR$SOI=!PL<3U2G'[ZPS2##G=TM?$DVA:'Q*LR#K>P%?PW[J+Q8C-*I50H)TP
MFEBH<_JP/9UW 1\!WP4,;K$GH9.K,<\A^%3E=!,,@832!P6.RPT>0<H@A#9^
M3IIT+AF(R_VK^H?8._9RY0X>C?PA*M_F]$!)!37OI7\RPT>8^KFG9&K^,]Q
M(CPXP1JED2Y^2=D[;]2D@E84?QE7H>,ZC'_2XT1;)R03(9D)AUB'C86B\_?<
M\R*S9B!V//N.ARO>GA(\FS(DXU'$?VC>8?96),=]QFY!:,*<1TRRP&QG!$/U
MN42R5N*<_$._WZ_STU6+:>2G2XOI?PSL5@5V46#W5X^'-SVN88YOBK#%H2JP
M31PG1TK3ZSC*B^P\L0])O)0_\''<OW#;".W(U7B\VG@!M3$>T,KF#F>HQ1<V
M!Q)J'[9[W-MQSL; FVYZ0FQ^Q\5O4$L#!!0    (  >!7$_CR$,LHP,  % 3
M   9    >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;)68[XZ:0!3%7X7P  LS
M=P9EHR9=FZ9-VF2S3=O/K(Y*%A@+HV[?OH"L0>>,@2_RQSOWWC/P8P[,3KI\
MJW9*&>\]SXIJ[N^,V3\&0;7:J3RI'O1>%?4_&UWFB:D/RVU0[4N5K-M!>1;P
M,(R"/$D+?S%KSSV7BYD^F"PMU'/I58<\3\I_3RK3I[G/_(\3+^EV9YH3P6*V
M3[;JIS*_]L]E?11<LJS37!55J@NO5)NY_XD]+B5O!K01OU-UJGK[7B/E5>NW
MYN#;>NZ'34<J4RO3I$CJS5$M598UF>H^_G9)_4O-9F!__R/[EU9\+>8UJ=12
M9W_2M=G-_:GOK=4F.63F19^^JDZ0]+U._7=U5%D=WG12UUCIK&I_O=6A,CKO
MLM2MY,G[>9L6[?;4Y?\8A@?P;@"_#&#B[@#J!M#-@.#<62OU<V*2Q:S4)Z\\
M7ZU]TMP4[)'JR5PU)]NY:_^KU5;UV>."PG 6')M$7<S3.8;W8N3D.F1IA\3R
M$A+4'5S:X+ -WHZGJS883D P ;4)Q%4"?J/C'!.U,44;PZ)PRFZDV%$D>WJO
M>A&P%P%ZH9M>SC&R5V421Q-&N(Z$=22H(W"""":(AL_Z!":8#% ZL91R*7GH
MF-$IK#,%=1SW5PP3Q,.5LA"#$@[0V@7UQ5+$PRAVE'(PR4"IR)$"\\1& ,4P
M40PA90DF2S 3$<7<40H#PQ QCAN$81:8'"$8T\"B(8(C^W;F_4?F=26,#4/<
M3!TI,!%L.D(O9H+%0_3&EEX9N]CC&!V.T'$@P3$2G V7RQU+#!\@MPOJRQ53
MX;BZ'(/# 3C,E0(#P<4(N1@(CE:'VQ6Q"Y+.)?&Z$N:& VZ8*P4&@D]&Z,5
M<+1&6'JGEE[7A<',<, ,LZK8S##'[4Z8& KM^7!Y \+$$%A$K$Z[H"L;XI@0
MPE01H(HY3 @YK!N-,'^8%QIBN<CV7/><"&&N"'#%',]#PL#0"-]%&!@:XKS(
MME[WW AAL B Q1QNA# U-,)^"4R$&&*_A&V_[KD1@<D1B!S7"P"F0HRP7P)3
M(8;8+V';KSMN1#A>5P \S.%&!(9"C'!? D,AAK@O8;LOMQL1&!T!T'$]G@5&
M0HPP7P(C(8:8+V$O)&XW(C$X$H##72DP$!*8+^>;*@9"@F6"W[QY/W5!5R_H
M3-X6"GJ?-IIO33^2<IL6E?>JC=%Y^RUCH[51=<;PH9ZZG4K6EX-,;4RS.ZGW
MR_,WGO.!T?ON^U5P^8BV^ ]02P,$%     @ !X%<3[WDK\E6 @  C@<  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULE55M;YLP$/XKB.^ML7E)&A&D
M)-.T29M4=>KVV2%.0#68V4[H_OUL0RB%R]1]"?9Q]SSW'+F[M!7R116,:>^U
MXK5:^X76S0HAE1>LHNI>-*PV;XY"5E2;JSPAU4A&#RZHXH@$08(J6M9^ECK;
MH\Q2<=:\K-FC]-2YJJC\LV5<M&L?^U?#4WDJM#6@+&WHB?U@^KEYE.:&!I1#
M6;%:E:+V)#NN_0U>[7!D YS'SY*U:G3VK)2]$"_V\O6P]@.;$>,LUQ:"FL>%
M[1CG%LGD\;L']0=.&S@^7]$_._%&S)XJMA/\5WG0Q=I?^MZ!'>F9ZR?1?F&]
MH-CW>O7?V(5QXVXS,1RYX,K]>OE9:5'U*":5BKYVS[)VS[;'OX;! :0/($.
MX?Y70-@'A&\!KIJHR\Q)_40US5(I6D]V7ZNA]D^!5Z$I9FZ-KG;NG5&KC/62
MA82DZ&*!>I]MYT-&/GCP0 9]H" 0Q9;,PN/%>X8=X+*$*4)01>CBPW<J0A@@
M @$B!Q"-)2;!I R=3^)\:N<S\=C-/>YP$ 1P(C&82#Q+)"0W !(0(/EX*18@
MP +(()J4HO.)1T))'$<PRQ)D60(L\81E.6/!.+ZAY0%D>0!8$A@ !W!_!!^O
M)[[18AC(8C'M,3P3>X>3Z%:R8*=M, &8;C02ACL)_T<K8;B7\+R9 +WS7B%1
M/.%!HRE6,7ER U]YN3C7VHZ+D758*AMBI^#$OK7+QDW'-YAN4WVG\E36RML+
M;6:LFX1'(30S.0;WYFL49CD.%\Z.VAX7YBR[#=%=M&CZ[8>&%9S]!5!+ P04
M    "  '@5Q/>P<#V3,"  !U!@  &0   'AL+W=O<FMS:&5E=',O<VAE970S
M.2YX;6R-5=N.FS 0_17$!ZPQMV0C@K2Y5*W42JNMVCX[9!+0&DQM)VS_OK;Q
ML@2CM"_8'I]S9H[!0]8Q_BI* .F]U;01:[^4LETA)(H2:B(>6 N-VCDQ7A.I
MEOR,1,N!' VIIB@,@A35I&K\/#.Q9YYG[")IU< S]\2EK@G_LP'*NK6/_??
M2W4NI0Z@/&O)&;Z#_-$^<[5"@\JQJJ$1%6L\#J>U_X17^T3C#>!G!9T8S3WM
MY,#8JUY\.:[]0!<$% JI%8@:KK %2K60*N.WU?2'E)HXGK^K?S+>E9<#$;!E
M]%=UE.7:7_K>$4[D0N4+ZSZ#]9/XGC7_%:Y %5Q7HG(4C KS](J+D*RV*JJ4
MFKSU8]68L>MWDD=+FR>$EA .!)S<)426$'T0XKN$V!+B_\V06$(RR8!Z[^8P
M=T22/..L\WC_.;1$?W5XE:C75>B@>3MF3YVG4-%K'H6/&;IJ(8O9])APA$G2
M6\C.A> !@50!0Q7A7!6;T,VPN,VPG8$L)T7\6V5_5^6FT&CVN"+#CT;\, CG
M!>)9@=@(Q./SCH+)>?>8U&":'I/B()C MBXL7$8.;.?"EGCIP/8N+(W3,>S&
M7#)K+IDQAR?F$C?/PO7FHK"+VLV@ O<$]C,PC%UK:'1G:N!GT\"$5[!+(_4[
M'T6''OD4ZCLWB6_P:HMGXCO54_L6^"'?-^1OA)^K1G@')M5--_?QQ)@$57WP
MH,HOU3]@6% X23U=J#GO.V&_D*RU31X-?YK\+U!+ P04    "  '@5Q/VG?"
M>\@#  !O$0  &0   'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6R56-N.VS80
M_15#'Q"1PXNHA6V@]F[1 @VP2)'D66O3:R&ZN))VG?Q]*5EK2)QA:[]8%Y\9
MG;D=D5J>Z^9'>[2V6_PLBZI=1<>N.SW$<;L[VC)K/]4G6[E_#G539IV[;%[C
M]M38;#\8E44,C.FXS/(J6B^'>\_->EF_=45>V>=FT;Z59=;\VMBB/J\B'GW<
M^)*_'KO^1KQ>GK)7^[?MOIZ>&W<57[WL\])6;5Y7B\8>5M%O_.%)B-Y@0'S+
M[;F=G"_Z4%[J^D=_\>=^%;&>D2WLKNM=9.[P;K>V*'I/CL<_H]/H^LS><'K^
MX?WW(7@7S$O6VFU=?,_WW7$5F6BQMX?LK>B^U.<_[!B0BA9C]'_9=ULX>,_$
M/6-7%^WPN]B]M5U=CEX<E3+[>3GFU7 \C_X_S&@#& W@:L#E?QJ(T4#<:B!'
M WFK@1H-E&<07V(?DOF8==EZV=3G17/IAU/6MQU_4*Y<N_[F4)WA/Y?/UMU]
M7PL!R_B]=S1B-A<,3# JF4.V&)*J.>21\&+FD"<,$4)<,;$+Y!H-D-' X$#,
M'$C:@2 =B,&!G#GP ME<,'K 5 .&,Z6!>2FA8%(K1=.1)!V)Z3"_.A>,FCY'
M,\,]-A@EU*2*,RZ*Y*(0E]3K@HW"5( GS.="P)@![@7VJ(@$)B+QO#U1,*T,
MT+%I,C:-8_-Z<Z,1:4B!)1[I+89)2(0T-)N$9),@-JYS/#H)>HYRW27]5&,8
MN$X5*4W'D'0,IJ/]RAOTG)0;R3W66PQ+TD2E 3HI22<E9B(P5)S1FL=NEPD>
MD$W^_QTS8N9]KJ3RDT+A4B.3P'1R6OHX$-*E?4J ^T%IS95/">,$))H%&-%:
MR@DQ9:$TT_K'Y1V5HF6+$[J%*H45R23 4C\KA'")Q$P4:4Z(UAJ.Q88H%-81
M-W2ISWQ+XOJ2!BC1@L.QX@@6<D&+!#=W5(H>;(XG&U<JQ95*5:+]M&!88B0+
M3!30,@'LAD*-H)D0:\-]0A1,:!'H'*!%![#H"!&**;! NF.%!/18 QYK5*81
M,PU7"^:OD B4X2R4$UHA@%HBA7)"*P2H.W)"SS3<,M- S2K#6<$PURB!:01Z
MH($:Z, :!.B!ACL&&NB!!N)5C;."1U6ES'\AD2@(M(J@YUD0\\P"2P]!3Z#@
M=VPPZ D4^#V-QD<0KU\UV0F-&PR,DC(-K'M%8+]#;7C\$@EB*S,=LI$.1AGI
M+\SBR;ZT_Q3Q.6M>\ZI=O-2=V^(.&]%#77?6.62?7&1'F^VO%X4]=/UIXLZ;
MRR> RT57G\;/&_'U&\OZ7U!+ P04    "  '@5Q/2:]<W$@%  #<(0  &0
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
M(8SG83\9W45*FAD!8X4Y5@CD>> K3K+2)A.$,,@*D3R/?<51INS&ZEX(DZP
MRBS\%6>9K.T_@H(4QED!GA,KN,"LJNP#!& ,%>"0$Y#S)4RLL8(485XI"4!@
M,KJ3RC*="_%"F&M"7,\1(,ZURT@)JTA"SD5<SQ$@SG4BJ&"D"2$]CW_B2$LJ
M&&<".+/@)Y"8'25.VJE@H D G3C!!4:57'CP$T:04$IE ^8Y-<MM*G46DTH@
MK?+8YWF5E"'AFT 8:$) L]#G0)-3TM=?8YXUXGD>^IKSG#HM[!0TIEDCFN?1
MKSG-RBEAE32&60.8&0 :)&GC="Y-GK#5!D1+"41C7+7YP'X?8ZA17F4#YGG5
MZ43XM&@,JT9;Y'G\:YY7E4M$)<RT1DS/XU]SIB45S+-&/+/8YSQ+*IAEC5AF
M@<]9%E0,YM@ CEG4&\XQD1@%!H-L ,B)D-D-1M1\H,@U&#T34N::X&1JA!HW
MJ,CER512P0";D!+7<(!M+FTU#0;8A-2XA@,L#0?#:T)J7!,,K\'PFI :UW!X
M_V?2,+\&%;G"1LEB..T'BER+J;,A1:[EZ5-;*4];S*8-J7%M\%[88GQM2'EK
M.;Y*S*\6$VQ#JEL;3+ 5SJA"2EO+"994,+XVI*Z=C&[/]DQFYD+QS9GG<*;\
M1]&\'([MXKGNNKH:#SEW==WYWF/RJ>_QWA?;ZT/I=]UPF_;WS>4L]_+0U:?I
MG#J^'I:O_P-02P,$%     @ !X%<3]'7HZL" @  >@4  !D   !X;"]W;W)K
M<VAE971S+W-H965T-#0N>&UL?53M;ILP%'T5Q /48/.5B""UJ:9-VJ2HT[;?
M3K@$5(.9[83N[6<;BBAX^X-][7..S[F \X&+5UD#*.^M99T\^+52_1XA>:FA
MI?*!]]#IG8J+EBI=BBN2O0!:6E++$ Z"!+6TZ?PBMVLG4>3\IEC3P4EX\M:V
M5/QY L:'@Q_Z[PLOS;569@$5>4^O\!W4C_XD=(5FE;)IH9,-[SP!U<%_#/?'
MQ. MX&<#@US,/9/DS/FK*;Z4!S\PAH#!11D%JH<['($Q(Z1M_)XT_?E(0US.
MW]4_V>PZRYE*.'+VJRE5?? SWRNAHC>F7OCP&:8\L>]-X;_"'9B&&R?ZC MG
MTCZ]RTTJWDXJVDI+W\:QZ>PXC#LIGFAN IX(>":$T7\)9"*0%0&-SFS49ZIH
MD0L^>&)\63TUWT2X)[J9%[-H>V?W=%JI5^\%2;(<W8W0A'D:,7B!B=./D.,6
MLHMG"-(.9AO8:0-;/EGP<1"Y!8A3@%B!Z$..W2K'B$DLIALQ <[(*LH6%>&4
M9&XSD=-,M#63!BLS(R9>'I-%J\X?MR 2D7\T-G9:B1U6PI65>'M*$))U7QRH
M- QV;C.)TTRR,1,&:S/)IOU)C)-H96:+R@C.\,H,6OP%YE;Z1L6UZ:1WYDK_
M4/:SKSA7H!6#!YVLUA?A7#"HE)FF>B[&ZV L%.^GFP[-UVWQ%U!+ P04
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
M:SO3!Q1?^IDYF'QW.2G-OAL.D_ZX.7\H.Y]T]CA]! PO7R+7_P%02P,$%
M  @ !X%<3^.U_37V 0  " 4  !D   !X;"]W;W)K<VAE971S+W-H965T-#DN
M>&UL=53;;IPP$/T5Q'MC,+=FQ2)E4U6MU$JK5&F?O>QP46Q,;>^2_GU](92R
MS@OVC,^<<\;8+B<N7F0'H()71@>Y#SNEQAU"LNZ $7G'1QCT2L,%(TJ'HD5R
M%$#.MHA1A*,H1XST0UB5-G<45<DOBO8#'$4@+XP1\>< E$_[, [?$D]]VRF3
M0%4YDA9^@'H>CT)':&$Y]PP&V?,A$-#LPX=X=R@,W@)^]C#)U3PPG9PX?S'!
MU_,^C(PAH% KPT#T<(5'H-00:1N_9\YPD32%Z_D;^V?;N^[E1"0\<OJK/ZMN
M'WX,@S,TY$+5$Y^^P-Q/%@9S\]_@"E3#C1.M47,J[3>H+U)Q-K-H*XR\NK$?
M[#BYE>)^+O,7X+D +P78]>*$K/-/1)&J%'P*A-O[D9A?'.^PWIO:).U6V#5M
M7NKLM4KCJ$170S1C#@Z#5YAX02#-ODA@G\0!WY0GR;V?(/%Z3"Q!\I_'=QRD
M7H+4$J1K!SC=-.DPN<4,3J1($[]*YE7);E32&&]4'"9;J21)]$XON5<E]Z@D
M&Y7\1N4#+HK(+U-X90K/EF4;F>)FRS)<I!L5M#J)#$1K[Z ,:GX9[/U?99=K
M_H#M2?X'=V_$=R+:?I#!B2M]'^RI;3A7H+U$=[K;3C]+2T"A469:Z+EPE],%
MBH_SNX.6QZ_Z"U!+ P04    "  '@5Q/V3(D),$!   4!   &0   'AL+W=O
M<FMS:&5E=',O<VAE970U,"YX;6QM5-MNG# 0_17+'Q O+&2C%2!E$T6MU$JK
M5&V?O3" %5^H;9;T[VL;0DCJ%^P9SSES9NRAF)1^,3V 1:^"2U/BWMKA2(BI
M>Q#4W*@!I#MIE1;4.E-WQ P::!- @I-TM[LE@C*)JR+XSKHJU&@YDW#6R(Q"
M4/WW!%Q-)4[PF^.9=;WU#E(5 ^W@!]B?PUD[BZPL#1,@#5,2:6A+?)\<3[F/
M#P&_&$QFLT>^DHM2+][XVI1XYP4!A]IZ!NJ6*SP YY[(R?BS<.(UI0=N]V_L
M3Z%V5\N%&GA0_#=K;%_B.XP::.G([;.:OL!23X[14OPWN )WX5Z)RU$K;L(7
MU:.Q2BPL3HJ@K_/*9%BG^>20++ X(%T Z0I(0G/(G"@H?Z265H56$])S[P?J
MKS@YIJXWM7>&5H0S)]XX[[7*DJP@5T^TQ)SFF'03DZP1Q+&O*=)8BE/Z'SP_
MQ/'[J,1]P&<?).9Q@BQ*D 6"_0>"VSA!'B7((PH.GYH4B[G[E(1L;D6 [L)[
M-*A6HPRSL/&N3_X^#;?Z'C[/RW>J.R8-NBCKWD:XP58I"T[*[L9IZ=V(K@:'
MUOKMP>WU_%!GPZIAF4&R_@BJ?U!+ P04    "  '@5Q/Y/.T ^H#  ")$P
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
M1W)/<0.1&"$2 T2X@4AV5V]7C+UD7PRT^O+52_P-LW/;<^M$A7Q$]*=>4RI
MQG,>9$*-?/R7 8%:J&XL^VQZ J>!H,/\NJ/E+R;_ U!+ P04    "  '@5Q/
MEL:AZ!,"  #0!0  &0   'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6R-5%UO
MFS 4_2N(]]7APZ2-"%*3=-JD38HZ;7MVX!)0;<QL)W3_?K9Q:$)HNI?8OIQS
M[KG7SDT[+EYD!:"\5T8;N?0KI=H%0C*O@!%YQUMH])>2"T:4/HH]DJT 4E@2
MHRB<S1+$2-WX66IC6Y&E_*!HW<!6>/+ &!%_5T!YM_0#_Q1XKO>5,@&4I2W9
MPP]0/]NMT"<TJ!0U@T;6O/$$E$O_,5@\88.W@%\U=/)L[YE*=IR_F,/78NG/
MC"&@D"NC0/1RA#50:H2TC3].TQ]2&N+Y_J3^V=:N:]D1"6M.?]>%JI;^O>\5
M4)(#5<^\^P*N'NQ[KOAO< 2JX<:)SI%S*NVOEQ^DXLRI:"N,O/9KW=BU<_HG
MVC0A=(1P( 3X)B%RA.B-$-\DQ(X0_V\&[ AXE 'UM=MF;H@B62IXYXG^.;3$
MO+I@@?5UY29H;\=^T_V4.GK,8IRDZ&B$'&;58\(SS!BRN88$ P)I X.+<,K%
M*KS.,+_,L)Z W(],?*SR=%/EPF@TV:[(\N.+=LVG!>))@=@*1!<"[SC DP)X
MPL'#Z,)Z3&(Q38])1ICU-29\&&$VUQ@<X5%'KS&?HB09583.GB,#L;>S07HY
M/S3*=.,L.HR?Q] \YU%\%2S6P41\H\=5/UW>Y/M9]YV(?=U(;\>5_A/9IUYR
MKD![G]UI\Y4>K\.!0JG,=J[WHA\R_4'QULU/- SQ[!]02P,$%     @ !X%<
M3SD33D[K @  (0L  !D   !X;"]W;W)K<VAE971S+W-H965T-34N>&ULE5;M
M;ILP%'T5Q ,4?P-1$JGYF#9IDZI.VW[3Q$E0 3-PDN[M9QM*$]NTZ9^ +^<>
MWW,,-W=Z%LUS>^!<!B]E4;6S\"!E/8FB=G/@9=;>B9I7ZLE.-&4FU;+91VW=
M\&QKDLHB0@"PJ,SR*IQ/3>RAF4_%419YQ1^:H#V69=;\6_!"G&<A#%\#C_G^
M('4@FD_K;,]_<OFK?FC4*AI8MGG)JS875=#PW2R\AY,U9#K!('[G_-Q>W =:
MRI,0SWKQ;3L+@:Z(%WPC-46F+B>^Y$6AF50=?WO2<-A3)U[>O[)_,>*5F*>L
MY4M1_,FW\C +DS#8\EUV+.2C.'_EO2 :!KWZ[_S$"P77E:@]-J)HS6^P.;92
ME#V+*J7,7KIK7IGKN>=_3?,GH#X!#0EJ[_<2<)^ WQ+(NPFD3R"W[D#[!&KM
M$'7:C9FK3&;S:2/.0=.]#W6F7SLXH>JX-CIH3L<\4WZV*GJ:$P:FT4D3]9A%
MAT$7&,JN(2L7 @=$I H8JD"^*A;(W2&^WF'I@216$1^SK-]EN2H4>^W")A]?
MV36BE'@)B"$@%P2.W1V$&4C5>9E@C*AEB M#&"$$+5-<&*4TL0]P[<(8Q( B
MOS;JU48=;82-$# O ;O=W=A+$'_L;@>AET(IHM@RUT71&""+:^6B$$A2D%K>
MNC"8Q&DZHBSQ*DL\WF(_0>HE2&_W%@)_JP ?N]MCKNPER'9DZ8%!F"30-MB'
M2U!,[,_:@T.$$AR/"!SIA=!C,AFA\#:R>X@^8;._Q4!\@\W8U1LGE-@VNS ,
M ;/[I@>6,$+L%N&!I2D!(U\X]/<_Z#9 PN@(A;_-0/H)C_V-!K(;/&9N@V7
M?94],(H1MCUV87$<VR>V]L 2H+JZI2ZZ^'LO>;,WLU8;;,2QDMJ9B^@PS]TC
M/1Y8\06<+*$GOM+SGQDGWNB[X?%'UNSSJ@V>A%1#B1D==D)(KJH'=^ID#FI>
M'18%WTE]&ZO[IAO:NH44=3^01L-4//\/4$L#!!0    (  >!7$^%@8!)AP(
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
M    >&PO=V]R:W-H965T<R]S:&5E=#8R+GAM;)56VX[:,!#]E2@?L(EO@:"
MQ*UJI59"6[5]-F @VB1.;0/;OZ_MA"PXAM(78D_.G)DY&>S)SER\R0-C*G@O
MBTJ.PX-2]2B*Y.; 2BI?>,TJ_6;'14F5WHI])&O!Z-8ZE44$XSB)2II7X22S
MMI689/RHBKQB*Q'(8UE2\6?&"GX>AR"\&%[S_4$90S3):KIGWYGZ4:^$WD4=
MRS8O625S7@6"[<;A%(R6 !D'B_B9L[.\6@>FE#7G;V;S93L.8Y,1*]A&&0JJ
M'R<V9T5AF'0>OUO2L(MI'*_7%_9/MGA=S)I*-N?%KWRK#N-P& 9;MJ/'0KWR
M\V?6%D3"H*W^*SNQ0L--)CK&AA?2_@:;HU2\;%ET*B5];YYY99_GEO_BYG>
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
MD/IVINYY7;O6#<FJIBYWVC\'Z_]02P,$%     @ !X%<3X'=23A< P  . \
M !D   !X;"]W;W)K<VAE971S+W-H965T-C4N>&ULE5?;CILP$/T5Q <LM@$#
M41)I<U,KM=)JJ[;/;.(D: &GX"3;OZ\!AP5[2.A+P,Z9F7-@9LQ,K[QX+X^,
M">LC2_-R9A^%.$T<I]P>61:73_S$<OG/GA=9+.2R.#CEJ6#QKC;*4H<@1)TL
M3G)[/JWW7HKYE)]%FN3LI;#*<Y;%Q=\%2_EU9F/[MO&:'(ZBVG#FTU-\8#^8
M^'EZ*>3*:;WLDHSE9<)SJV#[F?V,)QOB5P8UXE?"KF7GWJJDO''^7BV^[F8V
MJABQE&U%Y2*6EPM;LC2M/$D>?Y13NXU9&7;O;]XWM7@IYBTNV9*GOY.=.,[L
MT+9V;!^?4_'*KU^8$N3;EE+_C5U8*N$5$QECR].R_K6VYU+P3'F15++XH[DF
M>7V]*O\W,]B * /2&F#_KH&K#-Q/ ^^N@:<,O$^#\*Z!KPS\L1&H,J":@=,\
MK/KIKV(1SZ<%OUI%DT"GN,I3/*'R_6ZKS?IUUO_)%U#*W<O<#^G4N52.%&;1
M8$@7HT%6)@2W"$<2:%D0B,6"F!&"?H0E  DU$H^]K!][V9B0R(>UN. 3=6M[
MMQ<B@!UXH .O=N#U'K>F8P%A-"'+$9C5",SZ/J8GR <%^::#4 NR@#"1)F@$
M9C4"L[Z/Z0FBH"!J.HB0)@C !!IF"?G!FB (0S1!$,:%!06@H !PX&F"&@RM
M,7F-<;6L7-V%]&B$((T0H.%K,1J,WXGA(SA&!,:(@!AZPXN,&"$.]$Q[ .I1
MP0ANO@@@HY>Z G4#!=C7TV04:J-0M(="=(#TP(F! =)Z.2M0EPY&1.\^CU!]
M.N#1\8P)0"?2Z1!#=X0--L1@TP7UR<"]'[L&&8J0'L<U5;MH((DQ?$9@LRE3
M9.2$9ZC&WF @N'=CLUE21/1 $&B@ 6&XI6*SAU'DZ7$@T,#AC.%.A\U61P<+
M .Y2.!Q_PF.X"6&@"^EG_ H 4300A\ -AI@-AJ*!E"9PN1,\7BV!2Y0 )6JH
M!4 4#;13 E<? :H/#Z0[@>N*>/^A%JX8 GQ>F&HAD/YBG,Y'?,:*0SV"E=:6
MGW-1<>SLMF/>,ZF& &U_@2=+#.RO\&3=#'&?[IN9\GM<')*\M-ZXD*-'/2#L
M.1=,<D=/DOM1CK'M(F5[4=T&\KYH9KEF(?A)S:E..RS/_P%02P,$%     @
M!X%<3P&10@H5 @  G@4  !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&UL
MC53;CILP$/T5Q >LN2;9B"!M+JM6:J5HJVV?'3():&U,;2=L_[Z^+2&!ION"
M[>&<,V<&,UG+^)LH :3W3DDM%GXI93-'2!0E4"P>6 .U>G-@G&*ICOR(1,,!
M[PV)$A0%P0117-5^GIG8EN<9.TE2U;#EGCA1BOF?)1#6+OS0_PB\5,=2Z@#*
MLP8?X0?(UV;+U0EU*ON*0BTJ5GL<#@O_*9QO$HTW@)\5M**W]W0E.\;>].'K
M?N$'VA 0**16P&HYPPH(T4+*QF^GZ7<I-;&__U!_-K6K6G98P(J17]5>E@M_
MYGM[.. 3D2^L_0*NGM3W7/'?X Q$P;43E:-@1)BG5YR$9-2I*"L4O]NUJLW:
MVC=I[&CCA,@1HHZ@<M\CQ(X07PC)74+B",EG,Z2.D-YD0+9VT\PUECC/.&L]
M;J]#@_6M"^>I^ER%#IJO8]ZI?@H5/>>3,,S060LYS-)BHAXFG5Q#UD/(100I
M YV+:,S%,AIFF%YG6(U 9C<F_J^RN:MR930>;5=L^'&/'\7_J#09%4B,0'+5
M[^BFWQ:3&DQM,<%T%@3!34N&N&CZ.!G@UD-<.GE,![C-B%Z<QGV<+1#U+A<%
M?C1_NO *=JJE;DXOV@V3ITA?SIOX,IROPI'X6@T?.RLN\G9R?<?\6-7"VS&I
M?@ES<0^,25#V@P?EO%3#LCL0.$B]G:H]MR/#'B1KW#1$W4C._P)02P,$%
M  @ !X%<3TTDG-%< @  3 <  !D   !X;"]W;W)K<VAE971S+W-H965T-C<N
M>&ULC571CILP$/P5Q <<&&Q((X)T(:E:J95.5UW[["1.0&<PM9UP_?O:AG#$
M^-*^!'LS,[NSMM99Q_BK* F1WEM-&['R2RG;91"(?4EJ+!Y82QKUSY'Q&DNU
MY:= M)S@@R'5-(C", EJ7#5^GIG8$\\S=I:T:L@3]\2YKC'_LR:4=2L?^-?
M<W4JI0X$>=;B$_E!Y$O[Q-4N&%4.54T:4;'&X^2X\A_!<IMHO '\K$@G)FM/
M.]DQ]JHW7P\K/]0%$4KV4BM@];F0@E"JA509OP=-?TRIB=/U5?VS\:Z\[+ @
M!:._JH,L5_["]P[DB,]4/K/N"QG\(-\;S'\C%T(57%>B<NP9%>;7VY^%9/6@
MHDJI\5O_K1KS[0;]*\U-B 9"-!)4[GN$>"#$[P1XEP ' OS?#&@@("M#T'LW
MS=Q@B?.,L\[C_75HL;YU8(G4<>UUT)R.^4_U4ZCH)4] G 47+31@UCTFFF!0
M<@O9S"%@1 2J@+&*R%7%.IIG2&\S% [(PBKBWRK;NRHWA<;.=L6&'T_X4?R!
M4^@4@$8 WO0;6OWN,<A@FKZ9:9A""U:X8!%8?+*ZXH*!$%F'O'6J3>_"C3GD
M-(<<YI!E#LWRQ&EH@8HY"(6S.S<'00" 9<NA!,,/CCQQFDH<IJQ2UHFC>1!"
MZR@*%RR-H.5^XX(AD%CGOW7!%F%D7\=@,@IJPD]F+@MOS\Z-U%=Y$AU'_V.D
M1XD57X-E 1SQC7HJ^LG^+M^_,]\Q/U6-\'9,J@%FQLR1,4E4]>&#*KQ43]NX
MH>0H]3)5:]X/^'XC63N\7<'X@.9_ 5!+ P04    "  '@5Q/X"5 QA$"  !!
M!@  &0   'AL+W=O<FMS:&5E=',O<VAE970V."YX;6R-5=N.FS 0_17$!\3F
MGD2 U$U5M5(K15NU?7:224!K,+6=L/W[VH:EA,ZNE@=\.W/.'&P/>2_DDZH
MM/?<\%85?J5UMR5$'2MHF%J)#EJS<A:R8=H,Y86H3@([N:"&DY#2E#2L;OTR
M=W-[6>;BJGG=PEYZZMHT3/YY "[ZP@_\EXG'^E)I.T'*O&,7^ [Z1[>79D0F
MEE/=0*MJT7H2SH7_(=CN FH#'.)G#;V:]3UKY2#$DQU\.14^M1D!AZ.V%,PT
M-]@!YY;)Y/%[)/4G31LX[[^P?W+FC9D#4[ 3_%=]TE7AKWWO!&=VY?I1])]A
M-)3XWNC^*]R &[C-Q&@<!5?N[1VO2HMF9#&I-.QY:.O6M?VPDF1C&!X0C@'A
M%!"D;P9$8T#T+R!VYH?,G-6/3+,REZ+WY+!;';.'(MA&YF,>[:3[=F[-N%5F
M]E:F09:3FR4:,0\#)KS#K.\Q.PRSF3#$Y# E$J*)A(X@FA.$%">(4(+($<1W
M!,'"R8!9.TSK,'1%DP27B5&9&)$)%S(8)L)%$E0D00CBA0B&><5)BHJD"$&*
M$V0H0?;^+5NC!&LD@\7AVPV8=+9EP2:A[L&E-JC4!I%:GN$!D\RELN M*5._
MT#M%$;'-\L+0_XR%,2I&9G?9%M=O3%[J5GD'H4U9<)?W+(0&PTI7)OO*U/-I
MP.&L;3<S?3D4M6&@13<6;#+]-<J_4$L#!!0    (  >!7$^+A*H<PP$  &8$
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;(U4VX[;(!3\%<1[%]_B
MW4:VI6ZJJI5:*=JJ[3.QCV-KN;A XNW?%S#K)A&J]B5P#C/#C(%4LU3/>@ P
MZ(4SH6L\&#-M"='M )SJ.SF!L"N]5)P:6ZHCT9,"VGD29R1+DI)P.@K<5+ZW
M5TTE3X:- O8*Z1/G5/UY!";G&J?XM?$T'@?C&J2I)GJ$[V!^3'ME*[*J=",'
MH4<ID(*^QA_2[:YP> _X.<*L+^;()3E(^>R*+UV-$V<(&+3&*5 [G&$'C#DA
M:^-WT,3KEHYX.7]5_^2SVRP'JF$GV:^Q,T.-'S#JH*<G9I[D_!E"G@U&(?Q7
M. .S<.?$[M%*IOTO:D_:2!Y4K!5.7Y9Q%'Z<EY7R(=#BA"P0LG^$^_\2\D#(
M5T*:^?"+,Q_U(S6TJ92<D5H.:Z+N3J3;W'[,UC7]M_-K-JVVW7-3YDE%SDXH
M8!YCF/0:LULPV14F6S'$>EB-9%$CF1<HK@3R&R,Q3'%C9,&4'B,\YMWF?9DF
M21)WDT?=Y)&=-G&!(BI0O"%.#',;IWAK'')QXNX%?J/J. J-#M+8R^./KY?2
M@!5-[NRU'NRC7PL&O7'3>SM7R]5?"B.G\*K)^M?2_ 502P,$%     @ !X%<
M3WLEZ:0(70  JGT! !0   !X;"]S:&%R9613=')I;F=S+GAM;.V]:9/;R)4H
M^GGNKT#HR>.J") F0'!K^3JB6DN/;&TN2>[KZ[CQ D6BJF"1  <@55T3\^/?
MV7(!,@&B2FI[XKZ)L-4L,I'(/'GR[,OOZ_H0'(O\WX_9\_)8'/[GD_ET_B3X
M9;<MZO_YY/9PV/_PN]_5Z]MLE];C<I\5\,MU6>W2 _Q9W?RNWE=9NJEOL^RP
MV_XNGDSFO]NE>?'D#[^O\S_\_O"'Y^77K H^I#?9[W]W^,/O?X??\B^KX&U9
M'&[KX&6QR3;M7S]F^W$0K\(@GD2K^C:MLKH]A*?>P]3C]D\ORO5QEQ6'X-/]
MWGEQ-!G]N?.!/Q_3ZI!5V_O@,MN7U:$]\% =G0GUPQ^R*B\WN*'@17IPQJD]
M_8]_^1?<5?>BJ[2H\T->%AV+N$ZWM3/[R^*0'^Z#5_DV"]X==U=9U1XQF42C
M:1)'RXY'+[.;O#[ RP_!NW3GO.#Y^Y_>O?Q?P?/WEQ\Z)G@.JZ_2;? :3O27
MX$_9O;N"R60YB^+)S)G\6%6X]U=YO889_IJE52<<1Z,H'DVC3OC9<[R"+QW,
MZ86^/"UGZ7W^S]/V-Q?PZ(8?WZ8W'>!Y7:S+"LXSQ:,-@X\'V%M05@%=O K
M5VZ<O;Z]Z)CL4_I+\'H#;\RO\S7-V'7JR2A>1-/%HNO8+S8;N%UUJ#X$;_(B
M"]X7SEK@J^ O>8VO>E'E7[LP4,_W'/^"_7TJ[XKVV'>PY/674S-H$'VHRJ]Y
ML3[YR@]E?8##^]_YW@O-2;283QS4HQF C'D?F4T<N+TI"4%NRZ+KILUGD]$4
M<+WKG@BR\^W.BQO:J(MG?W6)GD8E(%+I^@"G@%<D55/V$ 7 ,P#F35DYM_)-
M6MUDP<5ZG<$H&+/A\1US?=REVVWPX[$&+*F[UO=REU4WN+&?JO+N< N0W>W3
MPGFSFO(V@RD[QGS*#T#1RNL@BL^NSH./V?I8P4,N-]CM #$_'LKUEQ"X0A5\
M3;?'+'@ZGDSB8 _;)R[BS%ZE&SJ ^]U5N74F_>G=_W*I."\@>/G+^C8M '(^
M8OGNXN.+"X?-J/-OK/4C<;?@_?$ N%O@:MR]%76YS3=T-G0GD-34")3W^XSI
M21V,@L\?7P1G3\]YIW60%\&GV_)8PZ1P-9XV_FZ_8CJ<&WM_G$[H1^>N(,W;
M96;1P=\NKI#'K __ISWT,ON:%2YW?0Y7&G=:^7\&! .2M4L1W=P9:^ !Z]LP
MV,##VW*/*P@#V'^0%3 ^ QH/9Y_] G)-[=ZUCX"5\'L8W&0%0'G+3Z:;75X0
MGZ3;U_6P' Q,GQ,(VK^_*JLLORF"-5W<]7UP V)3<+:%W9R[0/R:U0<"GW^R
M]X=;0'#^+3B3)7FFH=^O,A#@,C7Z 'Q$'N@8WS/B778(7GM7A+_(&_#NW<%>
M;P%[1RG(;""Q!6N^ @A0_CC*_OV8PY7%31+^_M">\L>TSM?!V;'>F.OL[/%%
MOCWB+3DQ[.>'KP>NF[FA78OCD=VKZOC]>5K?!IO\:PX,?5/3NF5!],"IW?30
M!R2J578+AX?(*B=J*$4_43"WMFNF[MML$,"1E;ZF^3:]VF8CP,-1#2"&@0K!
M:P>R.-&Q /:\S?\#MF==DS H,EH:8BC\Y^SI[)Q.\&F<X+[@4L#_JRP;[9"V
M(0!!I*MI2//)IS/@$?CUV=-E?*Z>+8!"-!\-@0K5^XSX[M9A09?9>IO6M1'(
M8&9\CU[[&2[^/,#%PSL.I5Q^6(FFXK[="YNILBT=,#R7]H+P)*E!&;_>\AK3
MS=^/7: ?^J"?'*T;"*.(DW-R#D<N48+S/?RM:'_V(45HWV8@>J;;\\'7 $7M
M[/H:CCV ?:_QKEYOR[O@-MO<N(3?'GW=@;DXS\/.L#GK];"#Z078C^DV!8D:
MA:_L4 \&QHML#=P^\G-[)=C"+<@\^$1DCD@L?C $UE7M99X>@("XBFI3#==B
MG<$\ ,@PV*+Z E<TJ[YFA =/HW"Y2)@H1.$\F>/>4(BAKW +_5?Z<W&5;[<
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
M+\^#_181+XC'0/EACQL@):" ? DX'6\<O&]>6N7,MD_EP)%"#?AK(7-#YO<
MC7 4_K7%E*"KM,YE.VVB\XGO8<-5W4(3W"S(2FMQI(ADWGQ#<[$4S2>6D"JS
MI]7'5=JTR$*^=*T473]V$G??'-?FWMF ,&_6+[)G=)T8=YB@5  F,'EPPYNJ
MF[00T(26*I]+R/D'OB$:=":LQ-+T^V*MVPOPJ<YU\'F_(22Z^/CY''7]^2B:
M@N9LWO:Z@#<<>891\!: =JQ, #CC&7J[LOH)*-2?U1QL)LW(&(#,MM)Y34@.
M28I&DPE^86P_HDV+]LPF!Q&8Q8Z0'AHLF[4I._#C;)-='8):FW'/%2)*,IXQ
M2N)BLVU.>DAF:1Y;PS $]UE<A M9XY)5S(G2O.2ND;>(W6,JRNWS^.,X0&LL
M'F@(LX(VE&[0NG:]1?H-M(* 8:B3>A+]\SNA0P@]+1!8+Q,C8BI.S=#LZJHJ
M4S0R"[IR;B[CE;PPV!UKXQ'GH S*AE$$UMZ46DPHBI4:(\JM%HE92ZJ/>SQI
M^AO9)5RB YFL]#)Z3T1,WF+NL'?;X?UKG3?*<-I^)N)*BKH*B1!  ,664K"Z
M<X>"T&@#2HB(K0I &+R*<RD[/TLM%*M9U22M7K>6EQ?Z^$2M-V@Y1O,RJ!M7
M6Q"ZV80+:V6YZ.:8LWT+)K O$,J!%%*02W!ERB9K9:PS?OST&BB2L5%',[;:
ML9V1R%6^TX^A1DD 1[6Z.24>C!R#,<3S/=[HNP8(SYYO6-9(PL^-D9A!U0H6
M%%,NR7)V\ 'Q_+RJ#Q9U$-#!"ID=-B%D@804;IED(U>%L(CG"FU3>EXKDRE<
M<;1@BC]ZO\T."IMS_&MG4UR%DS;>(ZT"X4<_5)!0OFVA EGY[RTS-?,W>3D>
MO'F0+55\5I8W91R\->O7%A^F PTT42H"ZH DTV]Q*^E:,T(C*W6Z3AKO'<0F
M%J/)$MC$I0[.0N;PKBR M $-I$OS*A,GFHJ/J(F#?.  M: 9Q58$*MYI$SR'
M^THSO,"K;3QRFK_@RP?P%R(A1+$M%SW'T<@+VK2#GR!H%DIVH1A 0%&6=-@.
M*1AD:1JLO!'R<<2XDB$HBM+H9VF%BS[0$AAMS^31," +M,3O];,MN)W5(2O4
M @P<Y?:0A53,$YV;O<T ,O8[Q\%'U$K1DK[=*H>368"AS)EZ0G1F RF1=MUM
M.ML1SZ>:-"UL+YEEZ/4N6.D$S_CVRU\2['7,:M^Z=AR"!UK4YP:31OX<FK!)
M=1TDH+('?I9#MO+ 0+U/MO_Z6EB:;SH2/M%  =" -:%Q*<44DU"4>N)(EMY,
M7-E6+XZ%>;\^S1X$(O,&.9/(%H(Q*EVX1-&'7N"0X0OID3B:<EW+@%U4N[3Z
M AQP7^44.2?DR+*+&&#V\<?F%AHD #;Q;2RRP2';3$CS2ID575<GYXPGO5R4
M5*@=^:LH\P-HOXK/%PHSD,^R"6![_V"&:XY510.$2CSM_-W"PMR*2B#7+@4#
M-.( TBOEWC"AB[Y0A3%&UR'^J:B$W(K.L)FN&4 B;%.B&<(H"5O^.8QR.4*\
M>&+RGI 'JNPHBSV.6+T'D8"2JCZ6UX<[P&_-\W >F^<UN1Q1(),\A' "SB=!
MOE6%I\#2F; I4..SZFN^-IZ37G)A*(2</0\A-J/L0936WI2AV!)EK$P/7Y7Q
M?WS+B]')Q^H-6O'8I*4EL!&J,;6 FP^U0JSS<$"?GF(TAL=L#U;&GA1'$_AX
MO#J .K8.IK/)*)GP'L2?JRQ%ODVCHU6;Z)3^0[86*SR'K"SMM; W%R?6,XG5
M!:CSL4(L#=$^+3NO;:I@QHKAQ!@)O:O4!B/E?\3/'MBU--SVV_<M&PD['26W
MLK7?DVO*5:3G#JU" &70#'?Z6SL.3DP-8JZZ)CFWKDO, (')-<JJ_63;1D"/
MC1I*0W #4FE[R@:G'$B#]V"OU@HTL;<(ZE%!^9/-5Y'Q6T=L#-Q:/_%PN+3P
M>4W"\+MK+K$TB,<.4FWM"4->>=9D-YK7#&$A1'^_-PMQXH71M$5)BK:AS0TK
M-L->6'RWVQC8,:]E4[PP<2QOW#@6_1C)W]9L),Y<ZF"Q'TF"05PP_F&V!-44
MHPF(*W>F;?)K!]#8,@9& UJOM]UQ!84XJM>S -49-W;&N,&!KN<_!'\^EHC4
M'T ^9?/-!:/H6Y);&2VYG-;:0.CL#7(2]#/9L:;,P]]?(5&E_;XN]D<S.CZ7
MQW_ DCK9O1*-<\NV^C2(YN%D&<$',@?&SZQ/GRH"P'V J>>U_GHZC\/)?*7_
M5J&;(/:56#1$?1_/9F$\6>B_:3&CJW3]!?9OJ33J]RB9A]-5K/_^B/2:(ME;
M\\;A=#(QT]Y0D'MSS"Q<36;ZK[?' K2!/3E?[%%)N$S,1"^5?YK**>!!W&&<
MEXGRT LU>[?0]H?A$RPF%O#\J4(-O%2#]0+":#;U.IIV70>-UXE5#0>?.>7P
MN!=JLDDQSLY2HR3)6N.D7!Z2KPEU>:Q$:J:LK%?LM=3N7+**"A;[?61M39?"
M/AT0#ML'Z#K9=K3!VG!%H!,':V/@0PN!'2R;\\W!V4MSGTC@*Y 4P+&@$U7R
M13$2K*K**]$Z,=?//"20VV Q-+(E-$( V..(<0"6#&("J$SJ^S!8Q@TN0FI2
MO4<\$D.X,J,KTZ$355"?)HN*[0&3(OVY#*T !PNX=A);&FRQEANY!ZK-"!VV
M]UHG%R&0U>_6L8M#0<F)% U%@7!5=G-$KR5%$"H976"]2[]DR&^OJI(_;+)T
M2Q_8O)YN[T6VO&%3O.V>*+7-8 <$A\M1L)[+6FB545:8*9I1B[V*CIAP^9YC
M(V[)5&=FAO?A!5R3?_D^1T,2;%/E77\%S@1L(3C<[SD3P'<!0&S#&R:&/+Z:
M!N2-B_3;NN.ZP O8N(;Q3W@^%/("[Q&+"9+9$4P_8I=7I>ZSBMF[S6]N87$W
M59:Q789/D8*I]BFE&/%"%,V PR9RJ^B.L5D14G  0T48AX[E5HS8)M_H.,.*
MG",$]A&Z3T; 79'7 $]"$2BO+!'7A\F;8Z4PWW9M P P#CGXQICL-OB[TCZ;
M%0,&$3 K'''$]A>VL9GP!6UK:;[*#N)!IQ06?N$(!@^Y:[@\+1(F$KN<YS!*
M-!UCG54$_'$G89-'$S6.SG1QZ.DLB4;,)0<!,Z\BO),2$CJ4(?^2;?/;4HQ$
MZ]L\^TI&6S$XJW(FNWP++P(N*%AEP%L;/!ET4'<9187H. &&HC;[5K05"0/"
MF:R@280'^B@Q$$*O-C,U_Q@'M'A)+GW'&47S60'_%J+PU6#@/O&7W'MBE(,!
MX?KC(>*S)"'?:T7-8+Z)9^B0F1EX@BD*_70P:CLGH/LFMJ5IG;A&&W(39IX&
M<3B;):P]\%*:;L.?_I)WH\,95VHZ[W[\^6V>5F7W#'$R:ZW1LZFG(M!AK9KK
MMG(T2!G")ZN60M2<30BBBCANI?:WRS'=B*E0:[S-VA""P,.4)2#[%-"+-E1#
ML[GTG!WH<XH+6 _#K:B:=>CX7O]CJ+XO;SWD.B0O3=(Z@^YU=YJN3G=O/]FC
M4@]\5<#CVGGTZC3-.$6^=/RF(0'MF^8!D'O=:&6 SI-9.(\G]"D)Y[-9MP(J
MZN<4;NDBZ*X $,51N)A$,-\R!!6HK9KB"Q.XYM%J&2:+1:>JN5R%L\4\6, H
M4$S;BNMR ?KJ*HBFBW"YB!S]<TYJYS*,8!UMC1+6/YV"/IF _NJI&0<P YUY
M$0=)O BGR;*]_G@V#^?1+)C&X6(^<186S1?A:K6$_P(UF\\[MP>S+*-Y,)N&
M\ZF[?@0U; "V 6,:6C-KR_!O[.XL@ETO@B70L8Y2;\$,SSB)@ACM E,D9ZL(
M !PE\&FQ6H2SU:J]7\$[G]0K]:?$D4W!3#>XD0)?]HRON&?K/3.N :?1<"8F
M3)AY7Y8<2U-9D02H?I586X 9+X=69,5M*J%LSX)UZU@&[>(*I%?0G'8H_JR5
M4LOY^<KC^ QTJN91V3-SU"V]P,RJYC"@@5EVK:,;M#XR%++*1]7$S8S:5 I0
MM['%GE;M"VVILJ3R:IO?B$H(0ZSY:!:EV5C?D\9:DB2$^L<>,]CLL AK*!X\
M4*=Q<($*O*4K5:BCH_6E4(Y@0IT7>/;5,/FF;9#HK[HPW.)WH9WD7"*:_[58
MN!",']JWA EI/,.+A$3O*0@D<7 NWR.]ZZ%S<3P/IC-8S0J>$+KG$+PYD)5)
M$,=Q<#;%84P 7<(7+^<!W&=E?V)*Z*.!QN9VABMELF@1#F>/:"1,@'A$L,]I
M<+; U2IJZ".#R3P)9LLD.)M-8*0BC#T$<3Z%I:]F +H9/" 4TB&-0/OFJR"9
M"H2%5+:)Y'1B;8^F(\+I(YF38&&9ZY"$(C%,@$!&))0NET@HS] ^>DX_S<-%
M-'T,FMY4' .J"XE(.!B1&DO[H4B%?I1F3W=KJ@&YT6V,_VQFP"!=4Y+N55G]
M %H Q33#FP#64NS=?()5_@1/HQV"R^U9%Z4U;U9_PX^>N[8,E_,IGLHJHD-Q
M+>+NJ#:.QM,PGB,:X;G&$SK4LRGJ$,DT7,$=/)OA3>M"V @T@60ER+H,)ZLI
M7^ (+G0"MS1.X \'>R.0GI:"NHZMV/[1P_49D=M/V;]U6<^U/P"O#=UV]0&]
M"K#UZ9)(UGQ"7P&VX-;@FX1Q/@*JM%PNS#6XZ,Z]/W2H!A(.C2F"0XU$%L*3
MHQ=S%4UQN48$I]+E,O:7HJ6.LJDD?BJT@Y8ERT'EJ36&@ Q[@PJ(I!7; R@S
M6/)B5)"5NG#\<$VIX)+%X/YL)Z4<E'=7:>/H.J3@<?N-.H(JXV1S0";*L/S*
M=4J-H1-4.G2'7A^W;B"UDQ9,;R==K,ZTXHATB2PW]Z(EVDJC&G=OSN8$?3*I
M4'"QC7=7![V55=-OH7;77+*VGC#E;-1\$MFD^8.)!&<_-N?Q.V&<2*T0!9Y.
MYQ&Q#RKV#!P*/[?+K';HJ*?L'UQ4?CDU\T??8WZ_2?/7A]02% 6SD\GTU%8>
M8"EBX"=S:_XH^O;YFY#";%\-"\5W.3-.UX%YXC3->*AM[@.LI-(1- )4OC"V
MXZ15OJRQ*#&UU4Y J5V[+!2[CC$N=A<9H2"? >5W_9*W6+(EFL>]R!LRKC9K
MT7QWN?Q?MX=G$=?;B48Q=>D"_CV:RJ?I*)%/R6@FGU@B\8KI"8GIT7(93E?(
M]^9HJ%AT2!'*A=YE@4!Y%(3B9!%BI9"(3 8@,\X7VJE^PL(11V$"S#N> \^-
M@P5(P5.89A[-M9?=;]T0P;?-XENN=Z_+W>]Z;W[K-YLTY>3VD^RD?ZI-* "]
M) H7<P)WL@J3"*6Q9;BB*(8D3)93(U!WE<F_MV)8>NQM5E7]P/[\O>UFE^F=
M#NY!A (J$],VDIC$J)_+ZLLH+T8JD01AL@3H):!PO<(F0+=XZ4LT9\*C$<!T
MN@BC"4I;<\ 7@A4PC7@9MW?(Q6K\W_8 1@:\+X(_IL411:U(Q4C9HAI%/<'2
MO$&K705T\.#CR3.I$$9_1<^L--R#Z4JXRP#4K;!A[> O[T1N4ZO!I(W]7ISP
MM:KC0P;TO1,1+<[/4VE'.!5VH^1((+M0CXF&UK%?')3O!'LZ[-9*5N7F$0%P
M^1E</F9?NJA^(Y<TET83@!R+Z5R&JMHC)QZ)XG ^7]$S)4O$W07+96.M<Z?$
M*#LONQG'K8LN;%GN]-8L@>?77[ 'DB12J!RPTBTK(N$J&A/$KV:*SW6I#.QG
MI)1]79X(U_7+GL12<HU+93+C15=US/C=E,'/8CVEXS>C*#DAP#^C>EXR\=FI
MIF\&MS+PY-J;*1OSM-W/ IF4"T[MN%X6?;E1_AXRE:U)9H.[1_7O,$F_VF[N
M,)X>+8!LN+NC"DPV"+&$X!&!T:QYQI8X+8]8:V@ZB5O%&^"YY^*YE4>PA(Z"
MLZJ[0YH*J156]1Z[%$(S11Y@ #C+:0&<IDT@@K60+[<H3T^,-0NRE@!'D1?]
M]8BT*U,V8W5.Z)9''! TT(Q3R'885),IV3'CF@XHP!YRE0]MS*UAD&'T*8,9
MP'^L>6Q!"6EPE^_%!82A)RR'J0#<@[IHQ-J.&,[/*E2.'53;8,1$=/A5;+PH
M]GW%BD662_=A<$ \YBH 94>Y@.]13NXN)5DM7"0KHQ0D:)3QJ 5]BVJ6*OBN
M2YLL[:4M%LL32W.AU*RWI:/,[K(M"MB-:ELTWB2\MFDT$LQ6UOF)>E^\#>%3
MK*J"N(I_? \@M:'PB@MW])\.Y:C4(I_5CG2FVOMFK6J;%YQ@>4G%BS!Q#V H
ML=W:93^?32CU*D!GYQ(_@L0>3J,$/\8HKT\C_(B2]VI) Y( OZ/+Q#'F4Y+1
MD+O/Z'N[\$A?M1+?5IGQJ907IZS--0?[1F*0.'$=G3Z)C< 7.NEDO Q^\PTW
MWGF%*15E459\TW0\EQC]Q[^M+0I(PJVJI&:YF_#7>RKQPW5V-L'54?)IUF29
M;H12444_Z:EE>;X&KJ:\HUJ(5\=\*TEG?T_7(EKF)'DH!?$V2S?_SA5M9;$Y
M"UP<5UJ"+K[/5;8$7GPDR'"[2[(PZJN+47PF/XC2P5A2":B+3QQC85RJ4R,1
M172G%Y899;'HO-%#;#+>VJ;-B^U90!!/$[,$^&O>6,0#[4(#UB#$!3NL[HX[
M8J)<FB/+]P=5<H,D:Y2,.;FV!>)?D?@L%DQY4%\FNB,?XH ]3:N5I_^M#N*Y
M\#9X::0'.J.'ZLOMQXSSTXTB>H 6S3[3YVE540XO.W7L=@B-Q'XLYM\:^P(;
MY>9PD?'W(CN T/N%-&W@L/.)_<%$YE.E!I2+LO5M46[+&_+03,/Y<A$L0:N.
M@/(G\3QXKC(@*2 )K_]MOJ]AR!P.8T[Q(G$XF\S9$8JM?0X--)DN\"27P3P>
M$BN&GI48%?H9V@9PQ>@#3?[K@0B=N"M8W&2^[ ?1+%Q$<^27JZ@/1#%:KV;)
M@)@_ Z()K"$B"UT81=,^#Y,*3]TH%MM(2U<2EA5RYN(SIP%]_]L^6\9\W>,P
M6L[XPH.,%<F5!TED)8+&:KEB,2.![RTQ(YHL%9ZTK^S/E!D( L)[P[T\W1M1
M]PMD+)[QL!0PW^0>#X/8@?4)K*73]O5Q>YU3ZVM48&D)=V8)HOR12PV]<F@(
MMD*H;P&=RXHL##JU5"9$Y2C?@0YJ+PL5T'1;BYM*+#&F/((R]C1>AX&-6)O'
MY 1@&/*!E:*\@KN'X@DE>E'&GKT3K*2 @ME51FSN2X'E@#JKYAW2+^0C1!V-
M309B$;.VR?D(/]]B5[([S)*]26^DB/%!3/+ME\/?-U4J118:E6)T&KRP1-0=
M<GP3?H?1HN(R%:.<FA @4QXKJRHL5F;:YE0OE-).33J(S@'>I<7Q.J4TB:IN
M&&ZTS?].(9*1L>BZD4E.@KID:]=IOL7[2P':H<F9A(MX(^Y-E5VRR;8Y>3_=
MG'%,\,GXP-+VU./@ O.#L293H]J [<G$_9058Y6T0U#-G+$6*9ET3&,@O3W*
MH:G9L/*SNV?7NR3&TG9K4&4U]3F:FNT'61ZUXLQQO _<I/SWT+?39!D4VF2*
M]>%DBZQ_F@LM06F6/TZ$N6DX!1[ZBB^O\N9[U@B+ IZXP'B# 8QT%L8+AQR^
MP$0OKG=JU: ;-HIPZ]^RS0TN_T*W[!HF.G5,^<ES&9RFRY1H8,4MX"L.V0W5
MS9#"%Z0D;#+47)A][6!M-[H&78FA WA+3,2XRC&^;B.'T4?1_)JN32%M,8#7
M[5"\UH(YU1;O!)D],:7.SG-H[Z[1T P-AVS+;EO/*790VIGK4L/<&9LK\11D
M6J9B70 OQOOV0*JV_1^9NP@WM4H2T'2+/0#(<8]O2F8!FMH:+R4;#:, LJ$M
M)H69G,036Z::_E+$1,RZW!Z/'QO9T+8C6HFF<V$HN>:.7[A4V3D;C7Z*QAQ8
MA6);?'E]C38?5:*RB1!NJ>*._&JNHTZ@WBC_>?L$5#H2XZJJT'DKM\H.'4?J
MP9FVEA']@!JZJ0Y@RO-O6AJ&;3IP#_=QT>_J^-Z50M>QW5'CCQ<6F.$'^-O>
MI:(=%@'X(7AYK,I XB2>8B#8?+7 ,#/^.YZ'4U "_IC"-A&<?P4I82X=?V?A
M;#X%J9W_FH;);!6\S7Y!NT7P(0-)9\6_)##.]?G^B'A=WP8? +0;2J/!.3"$
M"Y49_!Q/DN!/@(,PW<^ 2"#US]6K)K,I#H[9^@>B/0B@_W8$@018,84! GX%
MRV0B/R^FH"C,U%]S$'(_I?D=[XA#>.%6A0MT4(?)8AF(53&">3%KH$@W.*V,
MC$#CF@1+@ H&MRY 0?L(0$WW&#HD0]I[Q9EG40* -]F;50:KU64G71SO1R"T
M6O0P2]*.&]B@NUXWOE5LS IE]'S%?KE!./J H8_!U5,9\(-[T1.JXS]!6[1!
M18932^:G8TLX/JF1N4;%X0RS[2!5;!8GF<<4]B17,<;+2 'BD\(5R#*ZJ#>W
M_D#YF&FI% >ARC>4=\M2\6,Q9=CI#QG$A@0N,:BR)%0QYO;A](VUP6F=6?L1
M D;[0@X:]$[7P*<( %Z:.2V]R.8X>UGV8+W ;B*0Z6:K%@+9+$DPXG3KL!/D
MX8TX8I'#>DLP?S)6UUJ,"N^T#51]XSEMC^5SV*A'$(.?2-@X8TGCW,8,JVBM
MU3W+Z5MI-^$$[6&^HB@@$MVG,PP;GL[G@:?1)F<"7YHRREU#2(IZWJCZI0U5
M?=W3G1><BMO?Y*!\WB RL8S&$]BU JC7'NKB^UM,$\).,*VZ'*K.&B6: RYS
MT.X&R2TJ_&T4^H=CR 6L#42+6F*.9AB^-%N$$\H#C"?+<,6^KB6:H2(2:_99
M,$\DXFT9+B/@Z$L0!I(%YLV&R72A4P&>W\(M".)%N)PE2*G0IKB<ATDR!R8?
M)I-8BN%<U'F*,M$$Y@3A8QI/@\4B7,!#( 5AG@LN -3)>$9>A!B^0_/@# 2*
MY6R.2X]0>(F_RX&JKREN_)]^/KIQF5@S:ML40B1]JN+Q(Q#%5BN*/UN 5!?A
M"28K  S,?,&-*'&/(VWUTC4 @>P=^38G&)T&AQ0!B.$_ &DXJR@&&6\Z'7P*
MSY7A3G1_8+_ZNCYO&_6L-F-.#.Y@N<,?F]L*@,)0HYUX:6$!Z*E?64[O:0BR
M9+^3%<<YG+?M@]+=Z$W!X]#LGQTL;-#27]IEM#S-[+'*@'B5%6_%&-:,.VVL
ME6)-8@OKY7*P2B!J5Z_@4'P4B8SUEJ.0Z74D,#<U,;NB"R(?G@6II0=R>*:>
M15/U-FVA:!6C?]ZH@=WJ&^&9C,-[=MHL^*OV;&R>ISZEIO^++ >%G(.B&0K<
ME I)^?.:R-0M5IINOJJNV5=B+;=+,:<#+ZP6TJV%VK)2(YOT.B-#J5H38X],
MN<DH0Z6V]R E  3G$(MDOW!]*(!H*T$G+:QK;D^]SNJ0,"BS<^!ZG0(7OVIA
M"B"VR2Q0[=)KKK4Y:)W313B=10WYPP(.2$5 ?S"?2@E4#6N2-MZ<Q<ERF*$T
MF@ ICP:VFL-H@U8$D6HARJ8AQ39;[9(L8Z*$GF$([UIYVX[PXR&O*9P0SH+X
M+&&%'?Z&>SA6EKJIJJJ7H'QA#7V3^+0Y5CJ6;ZL3$K%9%?4*=3M2E^LOHQ^Y
M4CRZ)VDY\/A+9BB.-=>8?+%AB?W$I;@0B7^%W#A[Q++>!Q7*T]-V^L1"O ;C
MVGJ'"?E#5Y-Q3:SMR92[T[KS-;Y8=;&3%G<I-4#F6$!TEM&08X$X>G;Y\7-]
M/AZ:TX?VN0C1>A)&P/>Y@[G)]* ;22\=<S]PT[^QDH9[.O2ET(WQ!(\:-<LE
M/ZQAR6F#2]HQ\G;$RTCOX-KYE/>D2UI]I>X_Z .\1MRCHJ)?,U52U(CP4B8>
M*WXI]Q.YT3CX!NOJ2X23ZN)IWC@.$)CM=XIB@%6Y^$GJ+J%?DNWVVY*;"%%<
ML6Y A<%"Y+(\4MP?<CW*@5&%K3^TRW=165(L!2#T>I-CF3=,WT!LAI6I,WF_
M-P[>!R8Q-[#+2X>#@83X![Y1;9TZ^%E%FP47$F[V4J$)U>+T#+C4\6B*(2(B
M?<*H-)R<H(XYM8J@O89!(,@ >V6S7&L%[YU@-9<M@-R[H,SP:31>3$']8<R.
MP^5B%<RB,6@P:MD;+$^4+#!#-X[&H&X!N;_.J!DWQ9QS^/D9VC_/@P2F6WE6
MX $@B*[)?$%)2N,H"19CX@'Q!%:V2-3;N?%.UQ08T$%%"V9C$/9GN!-4+Y)P
M%4TUEB 2Z[7JFF6$VMTI7-$Y@BB*YI0&-$;[[GA"F4"@!D[F<QIA56]6UUZ]
M;"^<HN$XHM<3<\.(#Q/??2R:CYGU'4!NVJ';+"^T7Y?#1L9Z?^ZNFO7$L$HB
M9J.P0]V./^%S5#YLTVVAN1IO?;.Z01P58<00 -,VS+)ZD3!LWFQR;,SU=:(T
MK0IO_P0M]C*OOXRND>@1;.+Q(O@-_+NB?\WGEYK/"[&2^HN3\11_AO_$_!_K
M+_W,UQ)CE,C".L4I:9#YI,<=6I1@-H[@_PG\/X;_3]MK_41&X,97: :T>$1*
M[BM*+31618SAM(-A?27GUA9]L@N+,B*,.\'QDV(IDLHNJG!K5+-?'N(MM:8P
M#8DH#ED_M,G6V]1M)*EI_8\EI5T!^:,DE[)2):KA>9[1"";*X0BR%-4P)/1F
MMBYZNLTF?2?XZ=9J"F]][X >N/Z5E>!AQ=583PV1&'29^?Y3X0SY'><X6:\@
MIB>%.O>ZC$XGTQRW\+&Q7XTTC?JU.!=LM=Q1>]+T<*!*JU@RU_QNO/\2T<3]
M*$&.OLDJ+6&IFOKY+NN(Z:;C&9'<-(A4]>:M/UP%)P+W-%J.DU@2$N(QR)>^
MA(KON?3O8#S0*Y\M9>7 POM207(M?70M5#<P[PG>?NQ"@>4W<NT7X6HY.Y&\
M\I@5?S?()G$X2V9FQ6CR7)Q:<2\>"'O^_K"-PCBR*CZL5KZ2#X]=YG<#Z)32
MLZW4'TQJ\:_TTNB,K#E\MG1&GUC#^H]2\[+*).0AFVGZ27HTO-_Z=3L5TBD*
M)KY?Y6%2).H=MZNPF[-I&F\:%R%<\?YC( JW^6ZDR6W3?:V*7 Y3CF"UM.]O
M,$N=5(:4JD.*1O ":9T55_"N5#)GE[[B%C=0*@LH)@D(0I/@+SQ#VWGKU58<
M#V]K 1Z<7* /@=_T0"K>0*H.OO/@1#ZF+;2<=M8DO<]')%1ETH$O\<ZK]H&%
MQ3/I?4I'),KY0),1APYR_W4JC$16A Q5G?UQJWS2J)'<E1A<<=R#$H!6,Y%*
MI002J!<Y%>/1(8E<B%U5";''4FXW?:]>UBH(;MP2JA-50UV2/FEMK0EF7OU&
MY8ZKFB5W5'B ._QY5ZB?C>+?Z&@19W4O49DBHXF%-MQ35%*TVHG]7TE8(HAV
MZ7G2P:V9Q0>R=,6Y<*7?0H=I?<F*$UKYQ%<":[;YG'HV"E4U(8TO?28[8B]8
M:$8[(+PS6VD2F",E&"E$EP[!#C%O\B=</:)TR)E?LY7.BK6:E;?*G-MN'VYR
M[M !0ZBC\7S"*IO-,VD18B/U[BEM]565]+1#^@NLH,BN\X.]C,>DQPFWGX31
MRDIVPR"WQ%NX2(J)#GU/BU]C.3:[CE0XG_E>\P^ T0/<+")J3,,DL42-6;B<
MKDZ"Z '%G>0U43B=KNS7S"?^A.QW'3>,]'6K?58G%RLK#W,=4#OIY(E<85?/
MO:Y,X3<#/:0<U3\_D.&Y9 <IA]?38#JE9*\DX5+J$?]WN5JBI D7?7T;JEY\
MI@A_5MS ,C.BWU,JC32%B[? @HE4+0DFFL_A_>11#97U70J-;# QE'GEUPP+
MI,*[9Q2'$D_"^6J& ;LQB29\G<G?!_>-%HO(2R9>1"^O@P?6O9?.Q)@O@2DZ
M[7$OF:6=\!1Y)D+SZ/OUH20P4]1!4^;TF6>.<. 5]YFEVZWG1!82<[@Q5X_I
MD[<'>X/,"S:8W3;ANFW**70@8PWCP-/%))Q&3 HX)Y<"_"6MR68R$=;EZIYG
MCEETO(?'U9MK1SG8NU"O=%=(T?^<;RAB7RA9! QHY8!0I86(9<,[YTM%B#89
M7'3:H=BQL+A'QJ8J24*RP!"B#H-RUX$[TL-78@TW!I]-SB$!; S2$F"#2X>V
M*2[D_2EWG=7 B R#=A--Q['Z*?W%+3_UFMD&_#8L=X8F"2Z(MQ1K>'^C3 LJ
MEXJ@@?"787,&#L8\4B4PDV./?,HVN;<-;A8[$_H:DO:B"]BI"<)6@.<_@4J^
M=M:*&$]%L0>!(([0F-[\AT!H0<$J'ZCF5&P>A]O_5[$(>GY=?PC5[+-%</X;
MS[^( 1+O<Q;A%THQ_(WS]PLN^M,6-K0<BE-= ()C8UY[FE5KV@3_/C594V+E
MI?"36$<;_IWAOQR2N+'G$F.JC(KIW\C\RT_$ C/U7\]11NHW^C"'_UMMP&[)
MX*OM(V2YU4V:Z5)S(:T;#(C0;60YQ)(J %QQW9]KM()@ZB<<G=+#K>[+]?'Z
M.E_GW,T#[>371YT-@;KAW>$V%(G068!1J_X.U+;>*"L)O1X=SMU+:!):[%V-
M*)75U* .-U)@^2)T@3>G3BM*9,%[316O:&D(*NYL1Y$E.?4B_3L*C#!IZ_G:
MI29A\!JQ AM94Q@>@I#79^Z6QO@<RUR/9[_!-<IC]%3,7]'#(7<%D JY]+[!
M-Q9N81S])ABKGLZ2=B0%2E )E(@PATECLA<%8%$;<VD-0_[*6_3_4#\WS(3.
M-SF6?&.'%../#2-3#!C7).W0$'5#*]V/U%J5\.92SD"5-L'R?15'Y5#8T%6)
M]8OPI,J"=$D%"<GS3;<HE-ZHOLV;(Q9N(1I%*B&(@;653FT53M&9;596&P$=
ME[1-[U2BFB)8ZZQ321=/L&=7,/T".3S6=B%M%#W'M;8P*)./%LDE._$7JO9H
M$R&5"J@=-699,.9P1[GB%/*&,;Y*[,<90!C9ERKTE=U3EKY @E!+-S.9"U9S
M*C4++: 1MF&<0H\!3T3K2CJ ]+T,ZC[]<.@*IS1ZUK/"[]%>J*U:OFA*HT/#
M8#HJ2Z:@U2[$W&/VK"-QN02AA[WKR$0+%\?!2VW+HJ;(%.2 .:<9T!W.Z&Z6
MT:LS'0)*!H6,_2[M2CY#]^CO(RJ;\>S%* .<%N9?M-B=EF&T6/4'<6M[E-KE
MTT48S5A9:58_3)M%.'4"EUA>)C%+\^:8N)"ENL)B1M/N>?LP.)98]<)6$95]
M&_2<BD[<IJVO)-L4.(G?\4SD1*K02Z.\^E@C;V$+]$$S0+:T;_-=?A#S@25%
M*7YDIA(_0"C+TGC)%3'(T"<%+<EY[LI%UD#F ,QN; UKS(&L$F!0ZO[MN0D(
M50OKV ,MKR*&GEJ!Z=RIK15$9.]BW=Z%0B!>M46%G'UQL%!5_D+W#=C64VHR
M0L>$&0A1F"@-7'FFBNR70[/N7SLE&J7$:SJS[R'W\$?=#=UYXBU@:KJ^/0*Z
M(K[^W#F0:#TL@Z,:X:;-D?03;R<*R5HQ5=WE0IZI+LPIX2(B &T#E:KUT8JX
M5'U7N?$172$V;^#=$&NG_?99X^U.A9NV)XT=;HZU1DF_'^!T:$A?U1S_G,9K
MIVS:8E9H=ZKL22S\AZNAV(MP[5KCE5F(-V"G4D>+2;A($O@O5CM:P7\CRB;'
MO^?1-'AI<C#)3O$U:WEWIN&"FIE-9O,@":.(JG1-EB[T9 UDIZ"/(]-QSK^R
M)$P27-$BQ+Z.T6(61G-<*9!+T(]?-I:!BI(R_\S#R<(4]IRA@="V1%'@KC&3
MA9QG[,",DHY#/FU[7=_)=>D3C>(0ZZBKA<?A=#9M<.LZW6G#E7(@A50N49R3
M!Z>2KL)3(9'Z$(M,M4? "<6B=)6M4VZMG-U+ 1J@M2/UD!NF;\HUO?SJ*]SB
M#.@SH#ICWQO+:33WUCM?2WN3CZ!)I5?P_3@,WAR YYSQ-^<AEQ-"!;IBP2K;
M8^% (@]BR.?R.$%=7A_N$ HLR6R.&$U A5DH#).Z6N<JB V@2Z486*5HL@KJ
M?[7#U""5+\/NG&:K4GU0S:JBZ*%M3[>(U'02V\[A>3RW,5HVYQ>O;]T0)_M>
M$R?Z+<1:T:8JQ;*DJHER7&#D/6%\@>6<:M11-Z(16]&#H=VFU:35<L@\K,6.
MF+\.OF2HNF^UNT 91FP9S>]5_:ILO+BL9FS]3]207F).=+L@E",0<3QM?8)<
M5UE1M?^96F#=/5TE2=&91MZ,UOUNL]:9<:* =31*Y^82Z5H^,P"!D[72<UK5
MLC E@()9U977N74$-PHQ9M@0T-1SXMVR=$P4R%C6YMNSM_N>6!"2-(SVVV1@
M1_*]-;T%W[%]IT$*=^]T7]BJCG1-6R&P:*:?C">SF:%E8RGO*R.H>*M&XG=8
MY+M!C25PP6[ HLHK5,J/J'";4_\P>)OPPYHNFO%T+FG#@"/R$7RT:ME:;1H^
M  BI4-.9^N0DVF/!?[0Q'@XFUK<Z;DWCEH_-7O8O51H:0':7UT3C)#D1P0 [
M_C,'3\#MOR2# VWF55GM@F@R^K/2"N#058GY$IA9H=2!34GXH*JH4YT/JTJA
M;CU%J?8JE29=KS-J46'5$)*26;B3LY\N+CZ<>U4&W=4!_K[X^!Q[5P1/I&G%
M$]CC#0C@NL$+CCO#IYX(6CTY)P%<6 %PZNRNM5I]#:5 ,9$!0)LVD!HPPM@Z
M90ZJ;Y6^L4LWV8GK8=6FX*PN?CW#NLW#VU?C@D-PW/7\25,@(H.96_V2A$3B
M69C'C959ZG65:\"RC=BNMVR?DV FM7$[4& U,![C^+&">YJW/A2*PAU8[Q6O
MTF Y%NEQDW<"R,8PTPVD#EN!307F*&Y1K%*-N1N#*33!G1Z'-SI* %G.D/#C
M?27K.^=O8S#;UA]@;V8]W;HQU.9 BT V6SS\NBG2)'X;RVMWQZFPU5U*F9:U
MG_&:-!ZUV Z3JMJERDFU<'I(\,-W 84P+G6L6,\-Q#LZ[J]::%$+Y0 G'>^D
M%D"7A5)5 ^G%8^OV.O'=Z@B0<SY\M2%',J6.>-KR=';E$=(V?L+U(DON,L)T
MTB:!N6I93VFUF29#IHV "%[-;CET(?VEF'@ZRB(GH[-J('+!/3$TK3#U'UK-
M7Y0KK-8M7[B8N\IRSZ6)A=0ED%KIK;+Q[B16O8GVLV2OH4XSE$*EWZJL1H7M
M=.)V"B0KF8&-N;]F]VR$X1I2%,\'OY8<9GRL-=(XLS)E-;%O%.J<6RGAUV75
M% 9=(Y%ZEUW;+\B12M#/C75)WYK6LLP.RRN&$WJ3#FDA/IA4MY QY0#%R&PE
MQ#H3BEVF/!ZL&T_5%/#TAJ6K:Y?5 ]I<N&TVK'X%%#O::K2A&=2)-C+-I:EC
MD>K(OU#2%\> 2$%?G,/TKZ$_K2!*41JNK X0!_+<J4%<CE'G6 @EL=+G4>,2
MWJ\Z3JBZOK5N+=7^(>3,XE3'_E Q(RK[@3T)Q I'A3;I>E-U#^5SU'=[T.$U
MR!S9/#WK ;2\X6NET^7<O>#K\*YNG1]-%+#=?ZH5H:R,_5:C!?S(C%A-224P
MX-+L,J9R.IO,1/B!Z$/*C,I,T&NA1A0D'B"#^B%([0Y45#KAFC2$.Y!KL;2Z
M26'=H*C(";]T9QJ1+4IL%YVEB8W/@BO[+9+SWX"_0KB&M<O_WMMFKR8N8Y+6
M90'"_[VVN),]E_'Q6; ^;ZTHR,U1L[G:[CAF# ^:B&SSZZP3%&?^RY;:4S/W
M7<Q^0[UERRI[Y,O.GP6;<[F1GJXN]7'7A+_I7T-! O<<X(!"-C]W TH !OQG
M[2Q+KG90<U+%&G[OH;5N3<NA,'*G;,W'<%M-'+@->"=[L0!BN(=S_YB<$YN(
MT'#Q=8FP+5)R];!%X] .%9?^+A@LP!$27YFMR*U 6HVW_=!]*;"^.ESC G,>
ME JN+RW%**!XM\M:E,JB$&:^M.8;U.A?1!:)GKOO<^S6+9Y%$E2[_X]'ZF(J
M9C]I&>FH1]ZAX54D$4,RHUKS4U,\W4['X*^M>AKPPK^FEW/W3H&M'6MK5M,"
M32HZ91O=3(]HBML]SYBIFO<$6;*GU9X4#E.U,N1;$BX%![H*])OB\3;*8%T3
M#F>"(2S\B+6"JP$T0L-M8F8=BGU*YCSEGG>2%/%Y-HVY5G<ID^MOQP&9G5^5
M5<5,226G>.,A.\:S&F!2<;0GVN$##$N"(S*1E#N%TV1X.P3Y&C5<6B@F&1]U
MOLNQMB\+4CI3I*VMO2F+#=P%<A%>I<67X#W%SVR"2USJV9O7/[Z_/ _V6T2\
M@,*U5(-W++)> ZS3S5BIA$Z?.NM4Q,;>:M'5*$]&V58H.H^V&/8@5665 ]<F
M.I]N6PU)7#1II>FG*D' ?D-SL5+WB"PAW"_17'(YKM*F11;RF30"/W82=V</
MO$KAMP!AWJQ?9,_8-C1F=QB[7@ BK$4I]_:3_;PGNS#HK)_/R6T\BJ:@MYKZ
MJ79=_5'PEBHM:/.0U)%[0W7DGH Z^UG-H=/.Q"9K@J$H>!)_08,%167I=XDN
M*[HK*_PBKHH6GQX:#%-\S)8;[*S5JOM<H0$P)MZ$,@GB8C,,4-#M,5GNWQIR
M;95,H^M04W_)5GL_J[2>Q*JKD!,*B$-;:$!.?ZQ. ?< ;5O76VJ*6T@DJ2F)
M($^J?#>5ZJ?9<:N.GU6T)32[NJK*%$V\@BRFO*9^8; [U@<MFB!()--#%Z>P
M-J468\<"6:JE%DA91\'6)7#2J@!5!BC,L4YZ&;TG(@;G0'6.L\H4X@;<+N:M
M\T8)RN3HL+! ;8V)@0/YN54!DJ1LW*$8,MI@%QE) !0 *<^5LK*+#P'39ZJ:
M9,7KUO*L^KRB5!NT'*-Q%X3]JRV6$20BGJNHC9MCSM8EF,"^0"B%Z9 Z[F9+
M!F-E*KO*;O*"A&EN5Z0MQ,I_$4J\#\I9._V8CC4I*?7,GE*2*7$1Q@RN&PK+
M73O=W1FH(G-L';UL/"]FT8KC4@*H%2K)H(,5FAZ;!D(62%1>#%D(M-^22"C.
M%=J&["'^0"PJPFS9T'0&AHWW2*NL&BZYBIEIH@+9V.^=Q+Y&JR#U(-N)0JGF
MHGT98SLV7=M;F XTT$0)Z*GQZ:FLE(;?X;=UM^.B\=Y!;&(QFBR!35Q:C3-&
MF'@.I UH(%V:5YFXL#@^GRO/CK"8_2X'S:W16 W^]T$G+SV'^THSO,"K;?QA
MFK_@RP?P%VY.21V!*0I>$YNU>D&;=IAVEJE=MX!$8I8SV HH&&3)^<H9C!5S
MV4$I')S:\QCM**UPT0=: J/MF3P:<F[5GL'3S[;@=E8'\8DW!!RY/78ET\[-
M4I2Z_<YQ\%$JG9KB1M8"#&7.U!.JY[B&E,B:[C:=[8C?44V:%K:/RC*S>A>L
M)/)G?/M5DU45E5#[UB5-9T"'^=Q@TLB?0[4A<QVDAGX/_"QW:.6!@7J?;)^"
M0M.#?SH2_4S7-#3MI%CH-125FCB2I;425[:%^V-AWJ]/LP>!R+A KARR1%".
M40<N 9YW (?,3DB/=$\>G5]!!%QJBF!\!1'\HFV5,,#LXX_-+31(0)5](XML
M<,@V$]*\4F:5ZI3]<\:37BY*"LR.O$492A- ^U7XF%"8@7R6%?#M_8,9KCE6
MY8L/E7C:^;N%A;D5$V"E-=E>^/1*.1>L-F^>0 $L"8'>6!T3D%NQ$8UN>GI
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
M* 1T:DV1#P\8S7O32+?;,&CRM'W/^618*[4;:<>=>LST[96Z/MV0.XU)2;@
M.?X#!G#4.DU;7D4%[S!RK='C1<S%4Y"=(M5<7GD9/6O$;LGA8C$9UB\99(6%
M ^@7V(&-,X[L./0N4-NM.E^)W^"Y]AO00SYPV_UTF[3:KACE.B(>9VHE2PR(
MM.]*J37[^>.+YA]FUS7^ ']C+0>5H/!OV>8&UV,!Y(?@Y;$J ZE B*6+ +T7
MJ*/RWR";3X&<_C&%;6(QD+]F!1 2+GTW"V>@QTZ7_!?(=;-5\#;[!7UCP8>L
M+@,I\)[ .%=:_Q%U 1 3/E"98+3^XQRH_R%;P,_Q).$B2X#^@+= /^?J55BA
M# ;'7-<+B"3<N'\[%C<IR*)D0\!&H2"1R\^+*38N4G_-X59_2O,[WM$+.#(@
M%0G06U0MPF2Q#&8\+[8"01-UD6YP6AD)^C<:A0$J:(+#?J\? :CI'@/C9$A[
MKSCS+')PU*:T'?B*\1RV2]YD5RB+26@9,5SQQ43P8]/<2D?@NWF!_0C;K*_N
M6DHI3L3&/BT\-KY5M]FRNWB^^D@E"@;=B0<,?<S=..50_(!1N_G&A(Y0TCVY
MA97=7+@57BW\!X6/BLI?J4>>HCL2F?'<(4I4*YGD:K\<>=)JP9:_AD.0XFH-
MLG5XXJ509E;9.1'D>,?4!,F<\E3R4*=)YU(#"]#9B%RS &O,< 5HB:N@H"',
MTJDP'>_^T9@U#%N&#&*1417.E2)0DD76/LR^L38XS1D[CQ PV@1CT*!W.GF7
M8BYY:>:T]"*;X^QEV8.[D-!/F,+@)PR%.T-3J<-,N\E.9JI)FFEMYZ"I$G>B
M:M()@O1&E62#[PW-M.K,_,,K<SZ"_/Q$M3O.V%I_;N.6E3%D%0Y231_62E"X
MH3/"Y]&:FLRIL_B*9*8I-LLYF\[GKE5557&]M'+8NN0F-9:JAKS\15)3E&)3
M8R[#3QFV7MD#00DNT";Y0(?&)J]3U?)]HYL0V;EI5&!,OX/*7[1Z5*KP5FJ0
M _> _9 ;).WYMMTX_I]0M?4"U@9B4RV6KQD:T;"7)SG4X\DR7+&-8HDZ140B
MVSX+YHG889?A,@)I90F"3K+ 4(8PF2ZTCX0;3<2+< EJ(E YU#R7\S!)YB#
M4 \ECF.ZJ/,4Y;T)S F"U104G,4B7,!#(.&AIQ$7 !)\C)@33V/X#I7(&0A+
MRQDVB)]CU]298ZP;@"*@2F#M[5K*5E%XZ:^")^KKP_W^O\"QZR)0>WO_$EY+
M7&:J_!\1]LM=D7%U@=VS$#&2%< ;9K[@HGZXQU$M>3@FHAOHZ)')0X*F5SC[
M"$X._@,'""@0Q2 63Z>//=P7JK*HG'*(4+XP<:JAU5'H$9Y,7;A4'1R%BJBM
M;3)R/'Y3R]9'J+]P)LD,N\14;(:F .M!ZYPNPNDL:A#6TC16 VH<SL@KJ BY
M+AM%WA>EVY_%R7*89AQ-X,0=H^;)!J6=-DZKC"5UHGC/X; 7 O[OX*IN=+CP
M'NO0;@4G>_$&JMSW2ZF PS&AG@&7NOB,,@E@4L\G#$#'R2E0&#VG0GW0:B:-
MMEF?::W MC5T81G<M@4%&DRC\6*JN_R"IKM8@2HY!G+\4C?K/D.M%?VP<30&
MWN%M]7N&BNIYD,!T*\\*/ ",DC"9+\@/.(Z28#$FE(HGL+)%HM[.R=M=4Z -
MDV)@9F,@,3/<"1*U)%Q%4T$>W:*7UZI+QWRE/@J=7M+H'$$417/RM(U1$1]/
MR-F&S5E!JL$15@: TD+4RU1;-0L'Y?6UTU,@.!;-Q\SZ#D!>=]*71-G<V* Y
MUOMS=]4L'\^]!J3:3M'=L-9D[#57X\2"._7L08<Z[F0UGZ4&H_02(7N7%8_2
MNMJUPCSOU>YK>ZX:)&/:J[<))A<JUILU]5$,Q7!*LJ=F(_\$=GV9UU]&U]A
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
MV!YF9T)OSX11@-H\(!.2W&H]4RJQ=F )P0)+1>)5SV>)\BFN5%M.5;HO\VB
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
M Q0    (  >!7$\?(\\#P    !,"   +              "  0    !?<F5L
M<R\N<F5L<U!+ 0(4 Q0    (  >!7$\GZ(<.@@   +$    0
M  "  >D   !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ !X%<3^ 5@TSN
M    *P(  !$              ( !F0$  &1O8U!R;W!S+V-O<F4N>&UL4$L!
M A0#%     @ !X%<3YE<G",0!@  G"<  !,              ( !M@(  'AL
M+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4    "  '@5Q/0OB2H"L#  #G#@
M&               @ 'W"   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L!
M A0#%     @ !X%<3_+<?+I>!   W1,  !@              ( !6 P  'AL
M+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    (  >!7$_J/L<.]@(
M "D+   8              "  >P0  !X;"]W;W)K<VAE971S+W-H965T,RYX
M;6Q02P$"% ,4    "  '@5Q/O-?*O#L"   9!P  &               @ $8
M%   >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ !X%<3_FI
M>42J!   YQ8  !@              ( !B18  'AL+W=O<FMS:&5E=',O<VAE
M970U+GAM;%!+ 0(4 Q0    (  >!7$]!'165^P$  (H%   8
M  "  6D;  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    "  '
M@5Q/<V!(*: $   D%@  &               @ &:'0  >&PO=V]R:W-H965T
M<R]S:&5E=#<N>&UL4$L! A0#%     @ !X%<3S9@W5"H!@  9B8  !@
M         ( !<"(  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0
M   (  >!7$_[@XL?"@(  (L%   8              "  4XI  !X;"]W;W)K
M<VAE971S+W-H965T.2YX;6Q02P$"% ,4    "  '@5Q/'2OB^K4!  #3 P
M&0              @ &.*P  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+
M 0(4 Q0    (  >!7$]D3 ?AL0$  -,#   9              "  7HM  !X
M;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ !X%<3]<JW7JW
M 0  TP,  !D              ( !8B\  'AL+W=O<FMS:&5E=',O<VAE970Q
M,BYX;6Q02P$"% ,4    "  '@5Q/V@;V];0!  #3 P  &0
M@ %0,0  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    (  >!
M7$]]=0,9MP$  -,#   9              "  3LS  !X;"]W;W)K<VAE971S
M+W-H965T,30N>&UL4$L! A0#%     @ !X%<3^-UM9:U 0  TP,  !D
M         ( !*34  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4
M    "  '@5Q/P&]KE+<!  #3 P  &0              @ $5-P  >&PO=V]R
M:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    (  >!7$]0W55UM0$  -,#
M   9              "  0,Y  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL
M4$L! A0#%     @ !X%<3Q@53Y6U 0  TP,  !D              ( ![SH
M 'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    "  '@5Q/G9&]
MT[<!  #3 P  &0              @ ';/   >&PO=V]R:W-H965T<R]S:&5E
M=#$Y+GAM;%!+ 0(4 Q0    (  >!7$_&E\ 6M0$  -,#   9
M  "  <D^  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @
M!X%<3\O";;ZV 0  TP,  !D              ( !M4   'AL+W=O<FMS:&5E
M=',O<VAE970R,2YX;6Q02P$"% ,4    "  '@5Q/\HM:<K8!  #3 P  &0
M            @ &B0@  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4
M Q0    (  >!7$\GZG<OM $  -,#   9              "  8]$  !X;"]W
M;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ !X%<3X\^(#:V 0
MTP,  !D              ( !>D8  'AL+W=O<FMS:&5E=',O<VAE970R-"YX
M;6Q02P$"% ,4    "  '@5Q/7 K"MLH!   X!   &0              @ %G
M2   >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    (  >!7$_"
M6%[]PP$  #@$   9              "  6A*  !X;"]W;W)K<VAE971S+W-H
M965T,C8N>&UL4$L! A0#%     @ !X%<3Z?Z%_WB 0   @4  !D
M     ( !8DP  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4
M"  '@5Q/S9DX$+@!  #3 P  &0              @ %[3@  >&PO=V]R:W-H
M965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    (  >!7$]^<.J<R $  #@$   9
M              "  6I0  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L!
M A0#%     @ !X%<3^1PK5+& 0  . 0  !D              ( !:5(  'AL
M+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    "  '@5Q//MZ@V;D!
M  #3 P  &0              @ %F5   >&PO=V]R:W-H965T<R]S:&5E=#,Q
M+GAM;%!+ 0(4 Q0    (  >!7$^Z;B^1W0$   (%   9              "
M 596  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ !X%<
M3Z@0B([6 0  G00  !D              ( !:E@  'AL+W=O<FMS:&5E=',O
M<VAE970S,RYX;6Q02P$"% ,4    "  '@5Q/89LD7-\!   "!0  &0
M        @ %W6@  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0
M   (  >!7$]Y'MX?M0$  -,#   9              "  8U<  !X;"]W;W)K
M<VAE971S+W-H965T,S4N>&UL4$L! A0#%     @ !X%<3[YG"$>Y 0  TP,
M !D              ( !>5X  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q0
M2P$"% ,4    "  '@5Q/X\A#+*,#  !0$P  &0              @ %I8
M>&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    (  >!7$^]Y*_)
M5@(  (X'   9              "  4-D  !X;"]W;W)K<VAE971S+W-H965T
M,S@N>&UL4$L! A0#%     @ !X%<3WL' ]DS @  =08  !D
M ( !T&8  'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    "  '
M@5Q/VG?">\@#  !O$0  &0              @ $Z:0  >&PO=V]R:W-H965T
M<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    (  >!7$])KUS<2 4  -PA   9
M          "  3EM  !X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#
M%     @ !X%<3PO9Q L.!   6!8  !D              ( !N'(  'AL+W=O
M<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    "  '@5Q/[X+DP#H$   X
M%P  &0              @ ']=@  >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM
M;%!+ 0(4 Q0    (  >!7$_1UZ.K @(  'H%   9              "  6Y[
M  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ !X%<3QN4
M!T0! P   0P  !D              ( !IWT  'AL+W=O<FMS:&5E=',O<VAE
M970T-2YX;6Q02P$"% ,4    "  '@5Q/[Z3U410"   H!@  &0
M    @ '?@   >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    (
M  >!7$\';MRAV $  .T$   9              "  2J#  !X;"]W;W)K<VAE
M971S+W-H965T-#<N>&UL4$L! A0#%     @ !X%<3[8ZD('_ P  E10  !D
M             ( !.84  'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"
M% ,4    "  '@5Q/X[7]-?8!   (!0  &0              @ %OB0  >&PO
M=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    (  >!7$_9,B0DP0$
M !0$   9              "  9R+  !X;"]W;W)K<VAE971S+W-H965T-3 N
M>&UL4$L! A0#%     @ !X%<3^3SM /J P  B1,  !D              ( !
ME(T  'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    "  '@5Q/
M$KZB0PH"  !M!@  &0              @ &UD0  >&PO=V]R:W-H965T<R]S
M:&5E=#4R+GAM;%!+ 0(4 Q0    (  >!7$_#PUV;$ (  &X&   9
M      "  ?:3  !X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%
M  @ !X%<3Y;&H>@3 @  T 4  !D              ( !/98  'AL+W=O<FMS
M:&5E=',O<VAE970U-"YX;6Q02P$"% ,4    "  '@5Q/.1-.3NL"   A"P
M&0              @ &'F   >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+
M 0(4 Q0    (  >!7$^%@8!)AP(  %D(   9              "  :F;  !X
M;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ !X%<3RX;_0RS
M 0  TP,  !D              ( !9YX  'AL+W=O<FMS:&5E=',O<VAE970U
M-RYX;6Q02P$"% ,4    "  '@5Q/8B^7#@8"  !Q!0  &0
M@ %1H   >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    (  >!
M7$_F\NLT[ ,  ,H1   9              "  8ZB  !X;"]W;W)K<VAE971S
M+W-H965T-3DN>&UL4$L! A0#%     @ !X%<3]"B[R,6 P  ;0P  !D
M         ( !L:8  'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4
M    "  '@5Q/SE %;TX"   !"   &0              @ '^J0  >&PO=V]R
M:W-H965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    (  >!7$_\ [MWJP(  *T)
M   9              "  8.L  !X;"]W;W)K<VAE971S+W-H965T-C(N>&UL
M4$L! A0#%     @ !X%<3]MR<IV# @  90@  !D              ( !9:\
M 'AL+W=O<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    "  '@5Q/5T=7
M+\P"   H#   &0              @ $?L@  >&PO=V]R:W-H965T<R]S:&5E
M=#8T+GAM;%!+ 0(4 Q0    (  >!7$^!W4DX7 ,  #@/   9
M  "  2*U  !X;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @
M!X%<3P&10@H5 @  G@4  !D              ( !M;@  'AL+W=O<FMS:&5E
M=',O<VAE970V-BYX;6Q02P$"% ,4    "  '@5Q/322<T5P"  !,!P  &0
M            @ $!NP  >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4
M Q0    (  >!7$_@)4#&$0(  $$&   9              "  92]  !X;"]W
M;W)K<VAE971S+W-H965T-C@N>&UL4$L! A0#%     @ !X%<3XN$JAS# 0
M9@0  !D              ( !W+\  'AL+W=O<FMS:&5E=',O<VAE970V.2YX
M;6Q02P$"% ,4    "  '@5Q/>R7II A=  "J?0$ %               @ '6
MP0  >&PO<VAA<F5D4W1R:6YG<RYX;6Q02P$"% ,4    "  '@5Q/%- 3I'<"
M  !X#0  #0              @ $0'P$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0
M   (  >!7$^\NFU/4 4  '8M   /              "  ;(A 0!X;"]W;W)K
M8F]O:RYX;6Q02P$"% ,4    "  '@5Q/4?TPDT0"  "$*0  &@
M    @ $O)P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4
M"  '@5Q/!0U48P$"  "S*   $P              @ &K*0$ 6T-O;G1E;G1?
@5'EP97-=+GAM;%!+!08     3@!. %05  #=*P$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6662128096">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>170,744</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,189</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>171,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,613</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of dilutive equity awards</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,705</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,056</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,111</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,408</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>174,449</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>177,245</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>175,164</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>178,021</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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 http://asc.fasb.org/extlink&amp;oid=6371337&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>nonnum: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>81
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6657253680">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="14"/></tr><tr><td style="width:47%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br/>Equivalent</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Notional<br/>Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">USD<br/>Equivalent</span></div></td></tr><tr><td colspan="7" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Euro</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>18,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19,697</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,330</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Japanese Yen</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>600,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,563</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>380,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,459</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Mexican Peso</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>90,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,560</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">British Pound</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,550</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,500</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,204</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Korean Won</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,660,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,053</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,125,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,808</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Hungarian Forint</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>840,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,739</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>750,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,685</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>45,700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,478</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>55,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,807</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Canadian Dollar</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,100</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>830</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>990</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>726</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Singapore Dollar</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>700</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>514</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of Derivative Instruments in Statement of Financial Position, Fair Value</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="20"/></tr><tr><td style="width:12%;"/><td style="width:17%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:10%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br/>Location</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td colspan="10" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Accrued expenses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></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 style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="19"/></tr><tr><td style="width:18%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:19%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/></tr><tr><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="9" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gross amounts offset</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of assets presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>19</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>70</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>106</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Derivative Instruments, Gain (Loss)</a></td>
<td class="text"><div style="line-height:120%;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</span><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="18"/></tr><tr><td style="width:21%;"/><td style="width:15%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td rowspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td colspan="11" style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>469</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>299</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>535</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(366</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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>nonnum: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 http://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 210<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=109980867&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 http://asc.fasb.org/extlink&amp;oid=109980867&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 http://asc.fasb.org/extlink&amp;oid=109980867&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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=109980867&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>nonnum: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>82
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6775181808">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="12"/></tr><tr><td style="width:39%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:14%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:13%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">Nine-months Ended</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">September&#160;30, 2018</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>170,744</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,189</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>171,053</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>172,613</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Effect of dilutive equity awards</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,705</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,056</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,111</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,408</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>174,449</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>177,245</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>175,164</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>178,021</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Equity awards to purchase </span><span style="font-family:Arial;font-size:10pt;"><span>6,078,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>5,695,000</span></span><span style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding during the three-month and nine-month periods ended </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;">, respectively, and </span><span style="font-family:Arial;font-size:10pt;"><span>2,796,000</span></span><span style="font-family:Arial;font-size:10pt;"> and </span><span style="font-family:Arial;font-size:10pt;"><span>2,353,000</span></span><span style="font-family:Arial;font-size:10pt;"> for the same periods in 2018, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</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_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>nonnum: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>83
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6703484464">
<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">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Sep. 29, 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_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="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"/></tr><tr><td style="width:63%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:16%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">September&#160;29, 2019</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">December&#160;31, 2018</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,620</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>104,655</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Money market instruments</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,081</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,557</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>121,701</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,212</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>198,477</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>78,407</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>137,871</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,101</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,492</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>427,348</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>32,760</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>162,566</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>53,631</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,316</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,921</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>845</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current investments</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>504,641</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>262,039</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>918,414</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>797,599</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock', window );">Summary of Available-for-Sale Investments</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16"/></tr><tr><td style="width:44%;"/><td style="width:1%;"/><td style="width:12%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:11%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br/>Cost</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Gains</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br/>Unrealized<br/>Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,254</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>212</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,226</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>359</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>86,990</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>222</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(3</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,286</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>14</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,535</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Non-current:</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,441</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,253</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(79</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>256,615</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,464</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>584</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(50</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>167,998</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,636</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>195</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>56,816</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>15,969</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,930</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,300</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>794,031</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>2,889</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></span></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"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">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 </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:29%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;">&#160;</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:8pt;"><span style="font-family:Arial;font-size:8pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</span></div><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>108,863</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(91</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>23,263</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(17</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>20,713</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(36</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>43,976</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(53</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,149</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(15</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>8,093</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(9</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>19,242</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(24</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">&#8212;</span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>11,558</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(12</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(25</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>343</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>(2</span></span></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">)</span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>160,738</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(160</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>29,149</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(47</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>189,887</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>(207</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">)</span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_InvestmentsClassifiedByContractualMaturityDateTableTextBlock', window );">Effective Maturity Dates of Available-for-Sale Investments</a></td>
<td class="text"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">The following table presents the effective maturity dates of the Company&#8217;s available-for-sale investments as of </span><span style="font-family:Arial;font-size:10pt;">September&#160;29, 2019</span><span style="font-family:Arial;font-size:10pt;"> (in thousands):</span></div><div style="line-height:120%;font-size:10pt;"><div style="padding-left:0px;text-indent:0px;line-height:normal;padding-top:10px;"><table cellpadding="0" cellspacing="0" style="font-family:Times New Roman;font-size:10pt;width:100%;border-collapse:collapse;text-align:left;"><tr><td colspan="24"/></tr><tr><td style="width:35%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:1%;"/><td style="width:8%;"/><td style="width:1%;"/></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:center;font-size:9pt;"><span style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Treasury bills</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>105,454</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>188,398</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>68,217</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">$</span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>362,069</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Corporate bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>87,209</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>115,941</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>47,842</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,348</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>2,867</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>255,207</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Asset-backed securities</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>89,576</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>21,425</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>26,142</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>7,633</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,616</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>146,392</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Sovereign bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>6,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>16,000</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>22,300</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Agency bonds</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>5,905</span></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;">Municipal bonds</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>3,533</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>1,307</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>&#8212;</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><span>4,840</span></span></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="overflow:hidden;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;">&#160;</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>292,072</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>341,764</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>149,413</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>8,981</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>4,483</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;"><br/></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;">$</span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><span style="font-family:Arial;font-size:10pt;font-weight:bold;"><span>796,713</span></span></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><span style="font-family:inherit;font-size:10pt;"><br/></span></div></td></tr></table></div><span style="font-family:Arial;font-size:10pt;"><br/></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_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>nonnum: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>nonnum: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>nonnum: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 http://asc.fasb.org/extlink&amp;oid=82897076&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>nonnum: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>84
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6950160640">
<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>Sep. 29, 2019 </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 2019</a></td>
<td class="nump">$ 1,650<span></span>
</td>
</tr>
<tr class="re">
<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 );">2020</a></td>
<td class="nump">5,628<span></span>
</td>
</tr>
<tr class="ro">
<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 );">2021</a></td>
<td class="nump">4,314<span></span>
</td>
</tr>
<tr class="re">
<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 );">2022</a></td>
<td class="nump">2,831<span></span>
</td>
</tr>
<tr class="ro">
<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 );">2023</a></td>
<td class="nump">1,988<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_LesseeOperatingLeaseLiabilityPaymentsDueYearSix', window );">2024</a></td>
<td class="nump">831<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_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix', window );">Thereafter</a></td>
<td class="nump">309<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">$ 17,551<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_LesseeOperatingLeaseLiabilityPaymentsDueYearSix">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, Liability, Payments, Due Year Six</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_LesseeOperatingLeaseLiabilityPaymentsDueYearSix</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_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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, Liability, Payments, Due after Year Six</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_LesseeOperatingLeaseLiabilityPaymentsDueafterYearSix</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_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 payments 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 http://asc.fasb.org/extlink&amp;oid=77888426&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_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 payments for operating lease, due in fifth fiscal year following latest 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/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 http://asc.fasb.org/extlink&amp;oid=77888426&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 payments for operating lease, due in fourth fiscal year following latest 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/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 http://asc.fasb.org/extlink&amp;oid=77888426&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 payments for operating lease, due in third fiscal year following latest 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/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 http://asc.fasb.org/extlink&amp;oid=77888426&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 payments for operating lease, due in second fiscal year following latest 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/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 http://asc.fasb.org/extlink&amp;oid=77888426&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 payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest 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 http://asc.fasb.org/extlink&amp;oid=77888426&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>85
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6789658304">
<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 (Detail)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Sep. 29, 2019 </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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">$ 160,738<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">29,149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(47)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">189,887<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(207)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">108,863<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(91)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">108,863<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(91)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">5,905<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(25)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">5,905<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(25)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">23,263<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(17)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">20,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_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(36)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">43,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(53)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">11,149<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(15)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">8,093<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(9)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">19,242<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(24)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</a></td>
<td class="nump">11,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(12)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">11,558<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">(12)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue', window );">Fair value, less than 12 months</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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue', window );">Fair value, 12 months or greater</a></td>
<td class="nump">343<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss', window );">Unrealized losses, 12 months or greater</a></td>
<td class="num">(2)<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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue', window );">Total fair value</a></td>
<td class="nump">343<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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Total unrealized losses</a></td>
<td class="num">$ (2)<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_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 http://asc.fasb.org/extlink&amp;oid=82897076&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_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for twelve months or 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 aggregate fair value of investments in debt and equity securities in an unrealized loss position 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;">us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 investments in debt and equity securities classified as available-for-sale that have been in a continuous loss position for less than twelve 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for less than twelve 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue</td>
</tr>
<tr>
<td style="padding-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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 aggregate fair value of investments in debt and equity securities categorized neither as held-to-maturity nor trading securities that have been in a continuous unrealized loss position for twelve months or 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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue</td>
</tr>
<tr>
<td style="padding-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_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_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_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>86
<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>87
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6768267424">
<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 (Detail)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</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>Disclosure of Compensation Related Costs, Share-based Payments [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">2.70%<span></span>
</td>
<td class="nump">2.90%<span></span>
</td>
<td class="nump">2.70%<span></span>
</td>
<td class="nump">2.90%<span></span>
</td>
</tr>
<tr class="re">
<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.39%<span></span>
</td>
<td class="nump">0.32%<span></span>
</td>
<td class="nump">0.39%<span></span>
</td>
<td class="nump">0.32%<span></span>
</td>
</tr>
<tr class="ro">
<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">5 years 1 month 6 days<span></span>
</td>
<td class="text">5 years 4 months 24 days<span></span>
</td>
<td class="text">5 years 2 months 12 days<span></span>
</td>
<td class="text">5 years 3 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://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)(iii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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://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)(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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://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)(iv)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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>num: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 share-based compensation awards, 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 (f)(2)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=109197908&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 S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>88
<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.19.3</span><table class="report" border="0" cellspacing="2" id="idp6790625472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Sep. 29, 2019</div></th>
<th class="th"><div>Sep. 30, 2018</div></th>
<th class="th"><div>Dec. 31, 2018</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>
</tr>
<tr class="ro">
<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 );">Income tax expense at U.S. federal statutory corporate tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">21.00%<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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Decrease in effective tax rate</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">7.00%<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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Decrease in effective tax rate for difference between deduction for tax purposes and compensation cost recognized from stock option exercises</a></td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">5.00%<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_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear', window );">Increase in reserves for income taxes, net of deferred tax benefit</a></td>
<td class="nump">$ 37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 37<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_IncreaseDecreaseInterestAndPenalties', window );">Interest and penalties included in reserve</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50<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_LiabilityForUncertainTaxPositions', window );">Liability for uncertain tax positions</a></td>
<td class="nump">8,179<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,179<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_LiabilityForUncertainTaxPositionsNoncurrent', window );">Reserve for income taxes classified as a noncurrent iability</a></td>
<td class="nump">7,151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,106<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_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets', window );">Reserve for income taxes classified an noncurrent deferred tax assets</a></td>
<td class="nump">1,028<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,028<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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued', window );">Interest and penalties, gross</a></td>
<td class="nump">$ 918<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">918<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_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Minimum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,300<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_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves', window );">Maximum decrease in income tax expense due to release in reserves</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,400<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">2016 through 2018<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">2015 through 2018<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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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 );">Income tax expense at U.S. federal statutory corporate tax rate</a></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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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 );">Income tax expense at U.S. federal statutory corporate tax rate</a></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_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>
</tr>
<tr class="ro">
<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>
</tr>
<tr class="re">
<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 );">Income tax expense at U.S. federal statutory corporate tax rate</a></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_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_IncreaseDecreaseInterestAndPenalties">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 interest and penalties.</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_IncreaseDecreaseInterestAndPenalties</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_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_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 decrease in income tax expense due to release in reserves.</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_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</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_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 decrease in income tax expense due to release in reserves.</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_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves</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_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_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Unrecognized tax benefit shown as a reduction to noncurrent deferred tax assets as a result of net operating loss carryforward, a similar tax loss, or a tax credit carryforward.</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_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets</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_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://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<br><br>Reference 2: 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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-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>num: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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 applicable to statutory income tax expense (benefit) outside of the country of domicile.</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 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=34349781&amp;loc=d3e330036-122817<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 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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 excess tax benefit for share-based compensation cost.</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 http://asc.fasb.org/extlink&amp;oid=84230637&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_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_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_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 the liability recorded for the income tax examination increased or decreased in the current year/accounting 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 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15A<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&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_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear</td>
</tr>
<tr>
<td style="padding-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_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 http://asc.fasb.org/extlink&amp;oid=6877327&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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 accrued for interest on an underpayment of income taxes and penalties related to a tax position claimed or expected to be claimed in the tax return.</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 15<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32718-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_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued</td>
</tr>
<tr>
<td style="padding-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_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_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>
</SEC-DOCUMENT>
